]> git.sesse.net Git - vlc/blob - configure.ac
49f227c3eb5af0a42f066fc50bca503c94a73ab8
[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
1463   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1464 fi
1465
1466 dnl Check for libshout
1467 AC_ARG_ENABLE(shout,
1468   [  --enable-shout          libshout output plugin (default disabled)])
1469 if test "${enable_shout}" = "yes"; then
1470   PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1471     [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1472      VLC_ADD_PLUGINS([access_output_shout])
1473      VLC_ADD_LDFLAGS([access_output_shout],[$SHOUT_LIBS])
1474      VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])],
1475     [AC_MSG_WARN(libshout library not found)])
1476 fi
1477
1478 dnl
1479 dnl HTTP daemon
1480 dnl
1481 AC_ARG_ENABLE(httpd,
1482   [  --enable-httpd          HTTP daemon (default enabled)])
1483 if test "${enable_httpd}" != "no"
1484 then
1485   VLC_ADD_PLUGINS([http])
1486   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1487 fi
1488
1489 dnl
1490 dnl VideoLAN manager
1491 dnl
1492 AC_ARG_ENABLE(vlm,
1493   [  --enable-vlm            VideoLAN manager (default enabled)])
1494 if test "${enable_vlm}" != "no"
1495 then
1496   AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1497 fi
1498
1499 dnl
1500 dnl Growl notification plugin
1501 dnl
1502 AC_ARG_ENABLE(growl,
1503   [  --enable-growl          growl notification plugin (default enabled)])
1504 AS_IF([test "${enable_growl}" != "no"], [
1505     VLC_ADD_PLUGINS([growl])
1506   ]
1507 )
1508
1509 dnl
1510 dnl Libnotify notification plugin
1511 dnl
1512
1513 AC_ARG_ENABLE(notify,
1514   [  --enable-notify         libnotify notification plugin (default enabled)])
1515 AS_IF([test "${enable_notify}" != "no"], [
1516     PKG_CHECK_MODULES(NOTIFY, libnotify,
1517       [
1518         VLC_ADD_PLUGINS([notify])
1519         VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS])
1520         VLC_ADD_LDFLAGS(notify, [$NOTIFY_LIBS])
1521       ],[
1522         AS_IF([test "${enable_notify}" = "yes"],[
1523                AC_MSG_WARN( libnotify not found) ])
1524       ])
1525   ])
1526
1527
1528
1529
1530 dnl
1531 dnl  Input plugins
1532 dnl
1533
1534 AC_ARG_WITH(,[Input plugins:])
1535
1536 dnl  live555 input
1537 dnl
1538 if test "${enable_livedotcom}" 
1539 then
1540   AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.)
1541 fi
1542
1543 if test "${enable_livedotcom}" = "yes"
1544 then
1545   enable_live555="yes"
1546 fi
1547 AC_ARG_ENABLE(live555,
1548 [  --enable-live555        live555 RTSP input plugin (default disabled)])
1549 if test "${enable_live555}" = "yes"; then
1550   AC_ARG_WITH(live555-tree,
1551     [    --with-live555-tree=PATH live.com tree for static linking])
1552
1553   dnl
1554   dnl test for --with-live555-tree
1555   dnl
1556   if test "${with_livedotcom_tree}" 
1557   then
1558     AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.)
1559   with_live555_tree="${with_livedotcom_tree}"
1560   fi
1561   
1562   if test -z "${with_live555_tree}" -a "${CXX}" != ""; then
1563     AC_LANG_PUSH(C++)
1564     CPPFLAGS_save="${CPPFLAGS}"
1565     CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1566     if test "${SYS}" = "solaris"; then
1567       CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS"
1568     fi
1569     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}"
1570     AC_CHECK_HEADERS(liveMedia.hh, [
1571       VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}])
1572       AC_CHECK_LIB(liveMedia_pic, main, [
1573         # We have -lliveMedia_pic, build plugins
1574         VLC_ADD_PLUGINS([live555])
1575         VLC_ADD_LDFLAGS([live555], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1576       ], [
1577         AC_CHECK_LIB(liveMedia, main, [
1578           # We only have -lliveMedia, do builtins
1579           VLC_ADD_BUILTINS([live555])
1580           VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1581         ])
1582       ])
1583       if test "${SYS}" = "mingw32"; then
1584         # add ws2_32 for closesocket, select, recv
1585         VLC_ADD_LDFLAGS([live555],[-lws2_32])
1586       fi
1587     ])
1588     CPPFLAGS="${CPPFLAGS_save}"
1589     AC_LANG_POP(C++)
1590   else
1591     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_live555_tree})
1592     real_live555_tree="`cd ${with_live555_tree} 2>/dev/null && pwd`"
1593     if test -z "${real_live555_tree}"; then
1594       dnl  The given directory can't be found
1595       AC_MSG_RESULT(no)
1596       AC_MSG_ERROR([cannot cd to ${with_live555_tree}])
1597     fi
1598     if test -f "${real_live555_tree}/liveMedia/libliveMedia.a"; then
1599       AC_MSG_RESULT(${real_live555_tree}/liveMedia/libliveMedia.a)
1600
1601       VLC_ADD_BUILTINS([live555])
1602
1603       if test "${SYS}" = "mingw32"; then
1604         # add ws2_32 for closesocket, select, recv
1605         VLC_ADD_LDFLAGS([live555],[-lws2_32])
1606       fi
1607
1608       VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
1609       VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1610       VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
1611       VLC_ADD_LDFLAGS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
1612
1613       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
1614       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
1615       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/liveMedia/include])
1616       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/UsageEnvironment/include ])
1617       if test "${SYS}" = "solaris"; then
1618         VLC_ADD_CXXFLAGS([live555],[-DSOLARIS])
1619       fi
1620     else
1621       dnl  The given live555 wasn't built
1622       AC_MSG_RESULT(no)
1623       AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}])
1624     fi
1625   fi
1626 fi
1627
1628 dnl
1629 dnl dv module: digital video module check for libraw1394
1630 dnl
1631 AC_ARG_ENABLE(dv,
1632 [  --enable-dv             dv input module (default disabled)])
1633 if test "${enable_dv}" = "yes"
1634 then
1635   AC_ARG_WITH(dv-raw1394,
1636   [    --with-dv-raw1394=PATH   libraw1394 headers and libraries])
1637   AC_ARG_WITH(dv-raw1394-tree,
1638   [    --with-dv-raw1394=PATH   libraw1394 tree for static linking])
1639
1640   if test -z "${with_dv_raw1394}" -a "${with_dv_raw1394}" != ""
1641   then
1642     AC_MSG_CHECKING(for raw1394 headers in ${with_dv_raw1394})
1643     if test -f ${with_dv_raw1394}/include/libraw1394/raw1394.h
1644     then
1645       dnl  Use ${with_dv_raw1394}/include/libraw1394/raw1394.h
1646       AC_MSG_RESULT(yes)
1647       VLC_ADD_PLUGINS([access_dv])
1648       VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_raw1394}/lib -lraw1394 -lpthread])
1649       VLC_ADD_CPPFLAGS([access_dv],[-I${with_dv_raw1394}/include])
1650     else
1651       dnl  No libraw1394 could be found, sorry
1652       AC_MSG_RESULT(no)
1653       AC_MSG_ERROR([cannot find ${with_dv_raw1394}/include/libraw1394/raw1394.h])
1654     fi
1655   else
1656     AC_CHECK_HEADERS(libraw1394/raw1394.h,
1657     [ VLC_ADD_PLUGINS([access_dv])
1658         VLC_ADD_LDFLAGS([access_dv],[-lraw1394 -lavc1394])
1659     ],[
1660         if test -n "${enable_dv}"
1661         then
1662           AC_MSG_ERROR([cannot find libraw1394 headers])
1663         fi
1664     ])
1665   fi
1666
1667   dnl Check for static linking of libraw1394
1668   if test -z "${with_dv_raw1394_tree}" -a "${with_dv_raw1394_tree}" != ""
1669   then
1670     AC_MSG_CHECKING(for libraw1394.a in ${with_dv_raw1394_tree})
1671     real_dv_raw1394_tree="`cd ${with_dv_raw1394_tree} 2>/dev/null && pwd`"
1672     if test -z "${real_dv_raw1394_tree}"
1673     then
1674       dnl  The given directory can't be found
1675       AC_MSG_RESULT(no)
1676       AC_MSG_ERROR([cannot cd to ${real_dv_raw1394_tree}])
1677     fi
1678     if test -f "${real_dv_raw1394_tree}/src/.libs/libraw1394.a"
1679     then
1680       dnl  Use a custom libraw1394
1681       AC_MSG_RESULT(${real_dv_raw1394_tree}/src/.libs/libraw1394.a)
1682       VLC_ADD_BUILTINS([access_dv])
1683       VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_raw1394_tree}/src/.libs -lraw1394])
1684       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_raw1394_tree}])
1685     else
1686       dnl  The given libraw1394 wasn't built
1687       AC_MSG_RESULT(no)
1688       AC_MSG_ERROR([cannot find ${real_dv_raw1394_tree}/src/.libs/libraw1394.a, make sure you compiled libraw1394 in ${with_dv_raw1394_tree}])
1689     fi
1690   fi
1691
1692   dnl
1693   dnl Check for libavc1394
1694   dnl
1695
1696   AC_ARG_WITH(dv-avc1394,
1697   [    --with-dv-avc1394=PATH   libavc1394 headers and libraries])
1698   AC_ARG_WITH(dv-avc1394-tree,
1699   [    --with-dv-avc1394=PATH   libavc1394 tree for static linking])
1700
1701   if test -z "${with_dv_avc1394}" -a "${with_dv_avc1394}" != ""
1702   then
1703     AC_MSG_CHECKING(for avc1394 headers in ${with_dv_avc1394})
1704     if test -f ${with_dv_avc1394}/include/libavc1394/avc1394.h
1705     then
1706       dnl  Use ${with_dv_avc1394}/include/libavc1394/avc1394.h
1707       AC_MSG_RESULT(yes)
1708       VLC_ADD_LDFLAGS([access_dv],[-L${with_dv_avc1394}/lib -lavc1394 -lrom1394 -lpthread])
1709       VLC_ADD_CPPFLAGS([access_dv],[-I${with_avc1394}/include])
1710     else
1711       dnl  No libavc1394 could be found, sorry
1712       AC_MSG_RESULT(no)
1713       AC_MSG_ERROR([cannot find ${with_dv_avc1394}/include/libavc1394/avc1394.h])
1714     fi
1715   else
1716     AC_CHECK_HEADERS(libavc1394/avc1394.h,
1717     [ VLC_ADD_LDFLAGS([access_dv],[-lavc1394 -lrom1394 -lpthread])
1718     ],[
1719         if test -n "${enable_dv}"
1720         then
1721           AC_MSG_ERROR([cannot find libavc1394 headers])
1722         fi
1723     ])
1724   fi
1725
1726   dnl Check for static linking of libavc1394
1727   if test -z "${with_dv_avc1394_tree}" -a "${with_dv_avc1394_tree}" != ""
1728   then
1729     AC_MSG_CHECKING(for libavc1394.a in ${with_dv_avc1394_tree})
1730     real_dv_avc1394_tree="`cd ${with_dv_avc1394_tree} 2>/dev/null && pwd`"
1731     if test -z "${real_dv_avc1394_tree}"
1732     then
1733       dnl  The given directory can't be found
1734       AC_MSG_RESULT(no)
1735       AC_MSG_ERROR([cannot cd to ${real_dv_avc1394_tree}])
1736     fi
1737     if test -f "${real_dv_avc1394_tree}/src/.libs/libavc1394.a"
1738     then
1739       dnl  Use a custom libavc1394
1740       AC_MSG_RESULT(${real_dv_avc1394_tree}/src/.libs/libavc1394.a)
1741       VLC_ADD_LDFLAGS([access_dv],[-L${real_dv_avc1394_tree}/src/.libs -lavc1394 -lrom1394 -lpthread])
1742       VLC_ADD_CPPFLAGS([access_dv],[-I${real_dv_avc1394_tree}])
1743     else
1744       dnl  The given libavc1394 wasn't built
1745       AC_MSG_RESULT(no)
1746       AC_MSG_ERROR([cannot find ${real_dv_avc1394_tree}/src/.libs/libavc1394.a, make sure you compiled libavc1394 in ${with_dv_avc1394_tree}])
1747     fi
1748   fi
1749 fi
1750
1751 dnl
1752 dnl dvdread module: check for libdvdread
1753 dnl
1754 AC_ARG_ENABLE(dvdread,
1755 [  --enable-dvdread        dvdread input module (default disabled)])
1756 if test "${enable_dvdread}" != "no"
1757 then
1758   AC_ARG_WITH(dvdread,
1759   [    --with-dvdread=PATH   libdvdread headers and libraries])
1760   AC_ARG_WITH(dvdread-tree,
1761   [    --with-dvdread-tree=PATH libdvdread tree for static linking])
1762
1763   dnl Temporary hack (yeah, sure ;)
1764   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1765       VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1766   fi
1767
1768   if test -z "${with_dvdread}"
1769   then
1770     if test -z "${with_dvdread_tree}"
1771     then
1772       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1773         [ VLC_ADD_PLUGINS([dvdread])
1774           VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1775         ],[
1776           if test -n "${enable_dvdread}"
1777           then
1778             AC_MSG_ERROR([cannot find libdvdread headers])
1779           fi
1780         ])
1781     else
1782       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1783       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1784       if test -z "${real_dvdread_tree}"
1785       then
1786         dnl  The given directory can't be found
1787         AC_MSG_RESULT(no)
1788         AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1789       fi
1790       if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1791       then
1792         dnl  Use a custom libdvdread
1793         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1794         VLC_ADD_BUILTINS([dvdread])
1795         VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1796         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1797       else
1798         dnl  The given libdvdread wasn't built
1799         AC_MSG_RESULT(no)
1800         AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1801       fi
1802     fi
1803   else
1804     AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1805     if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1806     then
1807       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
1808       AC_MSG_RESULT(yes)
1809       VLC_ADD_PLUGINS([dvdread])
1810       VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1811       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1812     else
1813       dnl  No libdvdread could be found, sorry
1814       AC_MSG_RESULT(no)
1815       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1816     fi
1817   fi
1818 fi
1819
1820 dnl
1821 dnl  libdvdnav plugin
1822 dnl
1823 AC_ARG_ENABLE(dvdnav,
1824   [  --enable-dvdnav         dvdnav input module (default enabled)])
1825 if test "${enable_dvdnav}" != "no"
1826 then
1827   dnl Same hack than dvdread
1828   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1829       VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1830   fi
1831
1832   DVDNAV_PATH="${PATH}"
1833   AC_ARG_WITH(dvdnav-config-path,
1834     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1835     [ if test "${with_dvdnav_config_path}" != "no"
1836       then
1837         DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1838       fi ])
1839   AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1840   if test "${DVDNAV_CONFIG}" != "no"
1841   then
1842     VLC_ADD_PLUGINS([dvdnav])
1843     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1844     VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1845   fi
1846 fi
1847
1848 dnl
1849 dnl  Windows DirectShow access module
1850 dnl
1851 AC_ARG_ENABLE(dshow,
1852   [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
1853 if test "${enable_dshow}" != "no"
1854 then
1855   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1856   then
1857     AC_LANG_PUSH(C++)
1858       AC_CHECK_HEADERS(dshow.h,
1859       [ VLC_ADD_PLUGINS([dshow])
1860         VLC_ADD_CXXFLAGS([dshow],[])
1861         VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1862     AC_LANG_POP(C++)
1863   fi
1864 fi
1865
1866 dnl
1867 dnl  libsmbclient plugin
1868 dnl
1869 AC_ARG_ENABLE(smb,
1870   [  --enable-smb            smb input module (default enabled)])
1871 if test "${enable_smb}" != "no"; then
1872   AC_CHECK_HEADERS(libsmbclient.h,
1873     [ VLC_ADD_PLUGINS([access_smb])
1874       VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1875     [ if test -n "${enable_smb}"; then
1876         AC_MSG_ERROR([cannot find libsmbclient headers])
1877      fi ])
1878   AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1879     AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1880     [#include <libsmbclient.h>])
1881 fi
1882
1883 dnl
1884 dnl  libdvbpsi ts demux/mux
1885 dnl
1886 AC_ARG_ENABLE(dvbpsi,
1887   [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
1888 if test "${enable_dvbpsi}" != "no"
1889 then
1890   AC_ARG_WITH(dvbpsi,
1891   [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
1892   AC_ARG_WITH(dvbpsi,
1893   [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1894   case "${with_dvbpsi}" in
1895   ""|yes)
1896     if test -z "${with_dvbpsi_tree}"
1897     then
1898       AC_CHECK_HEADERS(dvbpsi/dr.h,
1899         [ VLC_ADD_PLUGINS([ts])
1900           if test "${enable_sout}" != "no"; then
1901             VLC_ADD_BUILTINS([mux_ts])
1902           fi
1903           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1904         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1905         [#if defined( HAVE_STDINT_H )
1906 #   include <stdint.h>
1907 #elif defined( HAVE_INTTYPES_H )
1908 #   include <inttypes.h>
1909 #endif
1910 #include <dvbpsi/dvbpsi.h>
1911 #include <dvbpsi/descriptor.h>
1912 #include <dvbpsi/pat.h>
1913 #include <dvbpsi/pmt.h>])
1914     else
1915       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1916       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1917       if test -z "${real_dvbpsi_tree}"
1918       then
1919         dnl  The given directory can't be found
1920         AC_MSG_RESULT(no)
1921         AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1922       fi
1923       if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1924       then
1925         dnl  Use a custom libdvbpsi
1926         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1927         VLC_ADD_BUILTINS([ts])
1928         if test "${enable_sout}" != "no"; then
1929           VLC_ADD_BUILTINS([mux_ts])
1930         fi
1931         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1932         VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1933       else
1934         dnl  The given libdvbpsi wasn't built
1935         AC_MSG_RESULT(no)
1936         AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1937       fi
1938     fi
1939   ;;
1940   no)
1941     dnl  Compile without dvbpsi
1942   ;;
1943   *)
1944     AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1945     if test -z "${with_dvbpsi}"
1946     then
1947       LDFLAGS_test=""
1948       CPPFLAGS_test=""
1949     else
1950       LDFLAGS_test="-L${with_dvbpsi}/lib"
1951       CPPFLAGS_test="-I${with_dvbpsi}/include"
1952     fi
1953     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1954     AC_CHECK_HEADERS([dvbpsi/dr.h],[
1955       VLC_ADD_PLUGINS([ts])
1956       if test "${enable_sout}" != "no"; then
1957         VLC_ADD_PLUGINS([mux_ts])
1958       fi
1959       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1960       VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1961
1962     ],[
1963       if test -n "${enable_dvbpsi}"
1964       then
1965         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])
1966       fi
1967     ])
1968     CPPFLAGS="${CPPFLAGS_save}"
1969   ;;
1970   esac
1971   AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [
1972     AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.])
1973   ], [], [${LDFLAGS_ts}])
1974
1975 fi
1976
1977 dnl
1978 dnl  Video4Linux plugin
1979 dnl
1980 AC_ARG_ENABLE(v4l,
1981   [  --enable-v4l            Video4Linux input support (default disabled)])
1982 if test "${enable_v4l}" = "yes"
1983 then
1984   AC_ARG_WITH(v4l,
1985     [    --with-v4l=PATH       path to a v4l-enabled kernel tree],[],[])
1986   if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1987   then
1988     VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1989   fi
1990
1991   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1992   AC_CHECK_HEADERS(linux/videodev.h, [
1993     VLC_ADD_PLUGINS([v4l])
1994   ],[])
1995   CPPFLAGS="${CPPFLAGS_save}"
1996 fi
1997
1998 dnl
1999 dnl  Video4Linux plugin
2000 dnl
2001 AC_ARG_ENABLE(v4l2,
2002   [  --enable-v4l            Video4Linux2 input support (default disabled)])
2003 if test "${enable_v4l2}" = "yes"
2004 then
2005   AC_ARG_WITH(v4l2,
2006     [    --with-v4l2=PATH       path to a v4l2-enabled kernel tree],[],[])
2007   if test "${with_v4l2}" != "no" -a -n "${with_v4l2}"
2008   then
2009     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
2010   fi
2011
2012   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
2013   AC_CHECK_HEADERS(linux/videodev2.h, [
2014     VLC_ADD_PLUGINS([v4l2])
2015   ],[])
2016   CPPFLAGS="${CPPFLAGS_save}"
2017 fi
2018
2019
2020 dnl
2021 dnl  special access module for Hauppauge PVR cards
2022 dnl
2023 AC_ARG_ENABLE(pvr,
2024   [  --enable-pvr            PVR cards access module (default disabled)])
2025 if test "${enable_pvr}" = "yes"
2026 then
2027   VLC_ADD_PLUGINS([pvr])
2028 fi
2029
2030 dnl
2031 dnl  gnomeVFS access module
2032 dnl
2033 AC_ARG_ENABLE(gnomevfs,
2034   [  --enable-gnomevfs       GnomeVFS access module (default enabled)])
2035 if test "${enable_gnomevfs}" != "no" 
2036 then
2037   PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
2038     VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
2039     VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
2040     VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
2041     VLC_ADD_PLUGINS([access_gnomevfs]),
2042     AC_MSG_WARN([GnomeVFS support disabled because GnomeVFS development headers not found]))
2043 fi
2044
2045 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
2046 AC_ARG_ENABLE(libcdio,
2047   [  --enable-libcdio        CD input and control library support (default enabled)])
2048
2049
2050 have_libcdio=no
2051 have_libvcdinfo=no
2052 if test "${enable_libcdio}" != "no"
2053 then
2054   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
2055      have_libcdio=yes
2056      AC_DEFINE(HAVE_LIBCDIO, [], 
2057      [Define if you have libcdio 0.72 or greater installed]),
2058      [AC_MSG_WARN(CD Reading and information library not found)])
2059
2060   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
2061      [have_libvcdinfo=yes
2062      AC_DEFINE(HAVE_VCDINFO, [], 
2063      [Define if you have libvcdinfo 0.7.21 or greater installed])],
2064      [AC_MSG_WARN(VCD information library not found)])
2065 fi
2066
2067 dnl
2068 dnl  VCDX and CDDAX modules
2069 dnl
2070 AC_ARG_ENABLE(cddax,
2071   [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
2072  
2073 AC_ARG_ENABLE(libcddb,
2074   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
2075  
2076 if test "${enable_cddax}" = "yes"
2077 then
2078   if test "$have_libcdio" = "yes"
2079   then
2080     AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
2081     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
2082     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
2083     VLC_ADD_PLUGINS([cddax])
2084     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
2085     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
2086     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
2087   else 
2088     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
2089     HAVE_CDDAX=no
2090   fi
2091
2092   if test "$enable_libcddb" != "no"; then
2093     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2094       HAVE_LIBCDDB=yes 
2095       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2096       VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
2097       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
2098       ],
2099       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
2100       HAVE_LIBCDDB=no])
2101   fi
2102  
2103 fi
2104
2105 AC_ARG_ENABLE(vcdx,
2106   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
2107  
2108 if test "${enable_vcdx}" = "yes"
2109 then
2110   if test "${have_libvcdinfo}" = "yes"
2111   then
2112     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2113     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2114   else 
2115     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
2116     HAVE_VCDX=no
2117   fi
2118
2119   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
2120    [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
2121     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
2122     [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
2123     HAVE_VCDX=no])
2124
2125   if test "$have_libvcdinfo" = "yes"
2126   then
2127     AC_DEFINE(HAVE_VCDX, [], 
2128     [Define for the VCD plugin using libcdio/libvcdinfo])
2129     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
2130     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
2131     VLC_ADD_PLUGINS([vcdx])
2132   else 
2133     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
2134     HAVE_VCDX=no
2135   fi
2136 fi
2137
2138 dnl
2139 dnl  Built-in CD-DA and VCD module
2140 dnl
2141 AC_ARG_ENABLE(cdda,           
2142   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
2143  
2144 AC_ARG_ENABLE(vcd,
2145   [  --enable-vcd            built-in VCD (default enabled)])
2146
2147 if test "${enable_vcd}" != "no"
2148 then
2149   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
2150   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
2151     AC_MSG_RESULT(yes)
2152     VLC_ADD_PLUGINS([vcd cdda])
2153   ],[
2154     AC_MSG_RESULT(no)
2155   ])
2156
2157   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
2158   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
2159     AC_MSG_RESULT(yes)
2160     VLC_ADD_PLUGINS([vcd cdda])
2161     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
2162   ],[
2163     AC_MSG_RESULT(no)
2164   ])
2165
2166   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
2167   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
2168     AC_MSG_RESULT(yes)
2169     VLC_ADD_PLUGINS([vcd cdda])
2170     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
2171   ],[
2172     AC_MSG_RESULT(no)
2173   ])
2174
2175   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
2176   then
2177     VLC_ADD_PLUGINS([vcd cdda])
2178   fi
2179
2180   if test "${SYS}" = "darwin"
2181   then
2182     VLC_ADD_PLUGINS([vcd cdda])
2183     VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
2184     VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv])
2185   fi
2186
2187   if test "$enable_libcddb" != "no"; then
2188     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
2189       HAVE_LIBCDDB=yes 
2190       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
2191       VLC_ADD_LDFLAGS([cdda],[$LIBCDDB_LIBS])
2192       VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS])
2193       ],:
2194       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
2195       HAVE_LIBCDDB=no])
2196   fi
2197 fi
2198
2199 dnl
2200 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
2201 dnl
2202 AC_ARG_ENABLE(dvb,
2203   [  --enable-dvb            DVB-S/T/C card support (default disabled)])
2204
2205 if test "${enable_dvb}" = "yes"
2206 then
2207   AC_ARG_WITH(dvb,
2208   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
2209   if test "${with_dvb}" != "no" -a -n "${with_dvb}"
2210   then
2211     VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
2212   fi
2213   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
2214   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
2215     if test -z "${with_dvbpsi_tree}"
2216     then
2217       VLC_ADD_PLUGINS([dvb])
2218     else
2219       VLC_ADD_BUILTINS([dvb])
2220     fi
2221   ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
2222   CPPFLAGS="${CPPFLAGS_save}"
2223 fi
2224
2225 dnl
2226 dnl  Screen capture module
2227 dnl
2228 AC_ARG_ENABLE(screen,
2229   [  --enable-screen         Screen capture support (default enabled)])
2230 if test "${enable_screen}" != "no"; then
2231   if test "${SYS}" = "darwin"; then
2232     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
2233       VLC_ADD_PLUGINS([screen])
2234       VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
2235     ])
2236   elif test "${SYS}" = "mingw32"; then
2237     VLC_ADD_PLUGINS([screen])
2238     VLC_ADD_LDFLAGS([screen],[-lgdi32])
2239   elif test "${SYS}" = "mingwce"; then
2240     CPPFLAGS="${CPPFLAGS_save}"
2241   elif test "${SYS}" = "beos"; then
2242     VLC_ADD_PLUGINS([screen])
2243     VLC_ADD_CXXFLAGS([screen],[])
2244     VLC_ADD_LDFLAGS([screen],[-lbe])
2245   else
2246     CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
2247     AC_CHECK_HEADERS(X11/Xlib.h, [
2248       VLC_ADD_PLUGINS([screen])
2249       VLC_ADD_LDFLAGS([screen],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
2250       VLC_ADD_CPPFLAGS([screen],[${X_CFLAGS}])
2251     ])
2252     CPPFLAGS="${CPPFLAGS_save}"
2253   fi
2254 fi
2255
2256 dnl
2257 dnl  ipv6 plugin - not for QNX yet
2258 dnl
2259 have_ipv6=no
2260 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
2261   AC_CHECK_LIB(nsl,inet_pton, [have_ipv6=yes])
2262 ])
2263
2264 AS_IF([test "${have_ipv6}" = "yes"], [
2265   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
2266
2267 if test "${SYS}" != "nto" &&
2268    test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
2269 then
2270   AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
2271   AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
2272     [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
2273   AS_IF([test "${have_ipv6}" != "no"], [
2274     VLC_ADD_PLUGINS([ipv6])])
2275 fi
2276 if test "${SYS}" = "mingw32"
2277 then
2278   AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
2279   AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
2280     VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
2281 fi
2282
2283 dnl
2284 dnl  ogg demux plugin
2285 dnl
2286 AC_ARG_ENABLE(ogg,
2287   [  --enable-ogg            Ogg demux support (default enabled)])
2288 if test "${enable_ogg}" != "no"
2289 then
2290   AC_ARG_WITH(ogg-tree,
2291   [    --with-ogg-tree=PATH  ogg tree for static linking])
2292   if test -n "${with_ogg_tree}"
2293   then
2294     AC_MSG_CHECKING(for libogg.a in ${with_ogg_tree})
2295     real_ogg_tree="`cd ${with_ogg_tree} 2>/dev/null && pwd`"
2296     if test -z "${real_ogg_tree}"
2297     then
2298       dnl  The given directory can't be found
2299       AC_MSG_RESULT(no)
2300       AC_MSG_ERROR([cannot cd to ${with_ogg_tree}])
2301     fi
2302     if test -f "${real_ogg_tree}/src/.libs/libogg.a"
2303     then
2304       dnl  Use a custom ogg
2305       AC_MSG_RESULT(${real_ogg_tree}/src/.libs/libogg.a)
2306       VLC_ADD_PLUGINS([ogg])
2307       if test "${enable_sout}" != "no"; then
2308         VLC_ADD_PLUGINS([mux_ogg])
2309       fi
2310       VLC_ADD_LDFLAGS([ogg mux_ogg speex vorbis],[${real_ogg_tree}/src/.libs/libogg.a])
2311       VLC_ADD_CFLAGS([ogg mux_ogg speex vorbis],[-I${real_ogg_tree}/include])
2312     else
2313       dnl  The given ogg wasn't built
2314       AC_MSG_RESULT(no)
2315       AC_MSG_ERROR([cannot find ${real_ogg_tree}/src/.libs/libogg.a, make sure you compiled ogg in ${with_ogg_tree}])
2316     fi
2317   else
2318     AC_CHECK_HEADERS(ogg/ogg.h, [
2319       AC_CHECK_LIB( ogg, oggpack_read, [
2320         VLC_ADD_PLUGINS([ogg])
2321         if test "${enable_sout}" != "no"; then
2322           VLC_ADD_PLUGINS([mux_ogg])
2323         fi
2324         VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
2325      ],[])
2326   fi
2327 fi
2328
2329 dnl
2330 dnl  matroska demux plugin
2331 dnl
2332 AC_ARG_ENABLE(mkv,
2333   [  --enable-mkv            Matroska demux support (default enabled)])
2334 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
2335   AC_LANG_PUSH(C++)
2336   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
2337     AC_MSG_CHECKING(for libebml version >= 0.7.6)
2338     AC_EGREP_CPP(yes,
2339       [#include <ebml/EbmlVersion.h>
2340        #ifdef LIBEBML_VERSION
2341        #if LIBEBML_VERSION >= 0x000706
2342        yes
2343        #endif
2344        #endif],
2345       [AC_MSG_RESULT([yes])
2346         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
2347           AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
2348           AC_EGREP_CPP(yes,
2349             [#include <matroska/KaxVersion.h>
2350              #ifdef LIBMATROSKA_VERSION
2351              #if LIBMATROSKA_VERSION >= 0x000705
2352              yes
2353              #endif
2354              #endif],
2355             [AC_MSG_RESULT([yes])
2356               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
2357               VLC_ADD_CXXFLAGS([mkv],[])
2358               if test "${SYS}" = "darwin"; then
2359                 VLC_ADD_CXXFLAGS([mkv],[-O1])
2360               fi
2361               AC_CHECK_LIB(ebml_pic, main, [
2362                 # We have ebml_pic, that's good, we can build an mkv.so plugin !
2363                 VLC_ADD_PLUGINS([mkv])
2364                 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
2365               ], [
2366                 AC_CHECK_LIB(ebml, main, [
2367                   # We only have libebml, make mkv.a a builtin
2368                   VLC_ADD_BUILTINS([mkv])
2369                   VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
2370                 ])
2371               ])
2372             ],
2373             [AC_MSG_RESULT([no])
2374               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.])
2375           ])
2376         ])
2377       ],
2378       [AC_MSG_RESULT([no])
2379         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.])
2380     ])
2381   ])
2382   AC_LANG_POP(C++)
2383 fi
2384
2385 dnl
2386 dnl  modplug demux plugin
2387 dnl
2388 AC_ARG_ENABLE(mod,
2389   [  --enable-mod            Mod demux support (default enabled)])
2390 if test "${enable_mod}" != "no"
2391 then
2392   AC_ARG_WITH(mod-tree,
2393   [    --with-mod-tree=PATH mod tree for static linking])
2394   if test -n "${with_mod_tree}"
2395   then
2396     AC_MSG_CHECKING(for libmodplug.a in ${with_mod_tree})
2397     real_mod_tree="`cd ${with_mod_tree} 2>/dev/null && pwd`"
2398     if test -z "${real_mod_tree}"
2399     then
2400       dnl  The given directory can't be found
2401       AC_MSG_RESULT(no)
2402       AC_MSG_ERROR([cannot cd to ${with_mod_tree}])
2403     fi
2404     if test -f "${real_mod_tree}/src/.libs/libmodplug.a"
2405     then
2406       dnl  Use a custom mod
2407       AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a)
2408       VLC_ADD_PLUGINS([mod])
2409       VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a])
2410       VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include])
2411     else
2412       dnl  The given mod wasn't built
2413       AC_MSG_RESULT(no)
2414       AC_MSG_ERROR([cannot find ${real_mod_tree}/src/.libs/libmodplug.a, make sure you compiled mod in ${with_mod_tree}])
2415     fi
2416   else
2417     AC_CHECK_HEADERS(libmodplug/modplug.h, [
2418       VLC_ADD_PLUGINS([mod])
2419       VLC_ADD_CXXFLAGS([mod],[])
2420       VLC_ADD_LDFLAGS([mod],[-lmodplug])])
2421   fi
2422 fi
2423
2424 dnl
2425 dnl  mpc demux plugin
2426 dnl
2427 AC_ARG_ENABLE(mpc,
2428   [  --enable-mpc            Mpc demux support (default enabled)])
2429 if test "${enable_mpc}" != "no"
2430 then
2431   AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2432     VLC_ADD_PLUGINS([mpc])
2433     VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2434 fi
2435
2436 dnl
2437 dnl  game music emu demux plugin
2438 dnl
2439 AC_ARG_ENABLE(gme,
2440   [  --enable-gme            Game Music Emu demux support (default enabled)])
2441 if test "${enable_gme}" != "no" -a "${CXX}" != "";
2442 then
2443   AC_LANG_PUSH(C++)
2444   AC_ARG_WITH(gme-tree,
2445   [    --with-gme-tree=PATH gme tree for static linking])
2446   if test -n "${with_gme_tree}"
2447   then
2448     AC_MSG_CHECKING(for libgme.a in ${with_mod_tree})
2449     real_gme_tree="`cd ${with_gme_tree} 2>/dev/null && pwd`"
2450     if test -z "${real_gme_tree}"
2451     then
2452       dnl  The given directory can't be found
2453       AC_MSG_RESULT(no)
2454       AC_MSG_ERROR([cannot cd to ${with_gme_tree}])
2455     fi
2456     if test -f "${real_gme_tree}/gme/libgme.a"
2457     then
2458       dnl  Use a custom gme
2459       AC_MSG_RESULT(${real_gme_tree}/gme/libgme.a)
2460       VLC_ADD_PLUGINS([gme])
2461       VLC_ADD_LDFLAGS([gme],[${real_gme_tree}/gme/libgme.a])
2462       VLC_ADD_CXXFLAGS([gme],[-I${real_gme_tree}/gme])
2463     else
2464       dnl  The given gme wasn't built
2465       AC_MSG_RESULT(no)
2466       AC_MSG_ERROR([cannot find ${real_mod_tree}/gme/libgme.a, make sure you compiled gme in ${with_gme_tree}])
2467     fi
2468   else
2469       AC_MSG_WARN([only static linking is available, you must provide a gme-tree])
2470   fi
2471   AC_LANG_POP(C++)
2472 fi
2473
2474 dnl
2475 dnl  Codec plugins
2476 dnl
2477
2478 AC_ARG_WITH(,[Codec plugins:])
2479
2480 dnl
2481 dnl  mad plugin
2482 dnl
2483 AC_ARG_ENABLE(mad,
2484   [  --enable-mad            libmad module (default enabled)])
2485 if test "${enable_mad}" != "no"
2486 then
2487   AC_ARG_WITH(mad,
2488     [    --with-mad=PATH       path to libmad],[],[])
2489   if test "${with_mad}" != "no" -a -n "${with_mad}"
2490   then
2491     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2492     VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2493   fi
2494
2495   AC_ARG_WITH(mad-tree,
2496     [    --with-mad-tree=PATH   mad tree for static linking],[],[])
2497   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2498   then
2499     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2500     if test -z "${real_mad_tree}"
2501     then
2502       dnl  The given directory can't be found
2503       AC_MSG_RESULT(no)
2504       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2505     fi
2506     dnl  Use a custom libmad
2507     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2508     if test -f ${real_mad_tree}/mad.h
2509     then
2510       AC_MSG_RESULT(yes)
2511       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2512       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2513       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2514       AC_CHECK_LIB(mad, mad_bit_init, [
2515         VLC_ADD_BUILTINS([mpgatofixed32])
2516         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2517         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2518       ],[])
2519       LDFLAGS="${LDFLAGS_save}"
2520     else
2521       AC_MSG_RESULT(no)
2522       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2523     fi
2524   else
2525     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2526     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2527     AC_CHECK_HEADERS(mad.h, ,
2528       [ 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.]) ])
2529     AC_CHECK_LIB(mad, mad_bit_init, [
2530       VLC_ADD_PLUGINS([mpgatofixed32])
2531       VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2532       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2533     CPPFLAGS="${CPPFLAGS_save}"
2534     LDFLAGS="${LDFLAGS_save}"
2535   fi
2536 fi
2537
2538 dnl
2539 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2540 dnl
2541 AC_CHECK_HEADERS(id3tag.h, [
2542   AC_CHECK_HEADERS(zlib.h, [
2543     VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2544     VLC_ADD_PLUGINS([id3tag])]) ])
2545
2546 dnl
2547 dnl  ffmpeg decoder/demuxer plugin
2548 dnl
2549 dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
2550 dnl                             4- default place, 
2551
2552 AC_ARG_ENABLE(ffmpeg,
2553 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
2554 if test "${enable_ffmpeg}" != "no"
2555 then
2556
2557 dnl Those options have to be here because the .pc can be bogus for ffmpeg previous nov 05
2558
2559  AC_ARG_WITH(ffmpeg-mp3lame,
2560    [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2561    [
2562      if test "$with_ffmpeg_mp3lame" = "yes";    then
2563         VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2564      fi])
2565
2566  AC_ARG_WITH(ffmpeg-faac,
2567    [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
2568    [
2569      if test "$with_ffmpeg_faac" = "yes"; then
2570         VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2571      fi])
2572
2573  AC_ARG_WITH(ffmpeg-dts,
2574    [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
2575    [
2576      if test "$with_ffmpeg_dts" = "yes"; then
2577              LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2578              AC_CHECK_LIB(dts_pic, dts_free, 
2579                [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2580                [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2581              LDFLAGS="${LDFLAGS_save}"
2582      fi])
2583
2584  AC_ARG_WITH(ffmpeg-vorbis,
2585    [    --with-ffmpeg-vorbis    specify if ffmpeg has been compiled with vorbis support],
2586    [
2587      if test "$with_ffmpeg_vorbis" = "yes"; then
2588         VLC_ADD_LDFLAGS([ffmpeg],[-lvorbisenc -lvorbis])
2589      fi])
2590
2591  AC_ARG_WITH(ffmpeg-theora,
2592    [    --with-ffmpeg-theora    specify if ffmpeg has been compiled with theora support],
2593    [
2594      if test "$with_ffmpeg_theora" = "yes"; then
2595         VLC_ADD_LDFLAGS([ffmpeg],[-ltheora])
2596      fi])
2597
2598  AC_ARG_WITH(ffmpeg-ogg,
2599    [    --with-ffmpeg-ogg    specify if ffmpeg has been compiled with ogg support],
2600    [
2601      if test "$with_ffmpeg_ogg" = "yes"; then
2602         VLC_ADD_LDFLAGS([ffmpeg],[-logg])
2603      fi])
2604
2605  AC_ARG_WITH(ffmpeg-zlib,
2606    [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
2607    [
2608      if test "$with_ffmpeg_zlib" = "yes"; then
2609                 VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2610      fi])
2611
2612  dnl
2613  dnl test for --with-ffmpeg-tree
2614  dnl
2615  AC_ARG_WITH(ffmpeg-tree,
2616    [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2617
2618  if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2619    AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2620    real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2621    if test -z "${real_ffmpeg_tree}"; then
2622      dnl  The given directory can't be found
2623      AC_MSG_RESULT(no)
2624      AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2625    fi
2626    if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2627      dnl  The given libavcodec wasn't built
2628      AC_MSG_RESULT(no)
2629      AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2630    fi
2631    if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2632      if test -f "${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a"; then
2633        VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec/libpostproc ${real_ffmpeg_tree}/libavcodec/libpostproc/libpostproc.a])        
2634      elif test -f "${real_ffmpeg_tree}/libpostproc/libpostproc.a"; then 
2635         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a])
2636         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}])
2637      else
2638        dnl  The given libavcodec wasn't built with --enable-pp
2639        AC_MSG_RESULT(no)
2640        AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp])
2641      fi
2642    fi
2643    dnl  Use a custom libffmpeg
2644    AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2645
2646    if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2647      if test "${with_ffmpeg_zlib}" != "yes"; then
2648        VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2649      fi
2650    fi
2651    if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2652      if test "${with_ffmpeg_mp3lame}" != "yes"; then
2653        VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2654      fi
2655    fi
2656    if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2657      if test "${with_ffmpeg_faac}" != "yes"; then
2658        VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2659      fi
2660    fi
2661    if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2662      if test "${with_ffmpeg_dts}" != "yes"; then
2663        LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2664        AC_CHECK_LIB(dts_pic, dts_free, 
2665          [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ],
2666          [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2667        LDFLAGS="${LDFLAGS_save}"
2668      fi
2669    fi
2670    if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2671      VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2672    fi
2673    if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2674      VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2675    fi
2676    if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2677      VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2678    fi
2679
2680    VLC_ADD_BUILTINS([ffmpeg])
2681    if test "${enable_sout}" != "no"; then
2682      VLC_ADD_BUILTINS([stream_out_switcher])
2683    fi
2684
2685    if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2686      VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2687      VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2688    fi
2689
2690    VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2691    VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2692
2693    if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2694      AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2695      VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2696      VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2697    fi
2698 else    
2699     
2700 dnl Look for a ffmpeg-config (we are on debian )
2701  
2702   FFMPEG_PATH="${PATH}"
2703   AC_ARG_WITH(ffmpeg-config-path,
2704     [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2705     [ if test "${with_ffmpeg_config_path}" != "no"
2706       then
2707         FFMPEG_PATH="${with_ffmpeg_config_path}"
2708       fi ])
2709   AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2710   if test "${FFMPEG_CONFIG}" != "no"
2711   then
2712     AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2713     AC_CHECK_HEADERS(ffmpeg/avformat.h)
2714     AC_CHECK_HEADERS(ffmpeg/avutil.h)
2715     AC_CHECK_HEADERS(postproc/postprocess.h)
2716     VLC_ADD_PLUGINS([ffmpeg])
2717     if test "${enable_sout}" != "no"; then
2718         VLC_ADD_PLUGINS([stream_out_switcher])
2719     fi
2720     VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2721     VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2722  
2723  else
2724
2725 dnl Trying with pkg-config
2726    PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
2727     [
2728      AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2729      AC_CHECK_HEADERS(ffmpeg/avformat.h)
2730      AC_CHECK_HEADERS(ffmpeg/avutil.h)
2731      AC_CHECK_HEADERS(postproc/postprocess.h)
2732      VLC_ADD_BUILTINS([ffmpeg])
2733      if test "${enable_sout}" != "no"; then
2734          VLC_ADD_BUILTINS([stream_out_switcher])
2735      fi
2736      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
2737      VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
2738      dnl newer ffmpeg have a separate libpostproc
2739      PKG_CHECK_MODULES(POSTPROC, libpostproc,[
2740        VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}]) 
2741        ],[ true ])
2742     ],[
2743      
2744     dnl
2745     dnl last chance: at the default place
2746     dnl
2747       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2748       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2749       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2750       AC_CHECK_HEADERS(ffmpeg/avformat.h)
2751       AC_CHECK_HEADERS(ffmpeg/avutil.h)
2752       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2753
2754       AC_CHECK_LIB(avutil, av_crc_init, [
2755         VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2756         LDAVUTIL="-lavutil"])
2757
2758       AC_CHECK_LIB(postproc, pp_postprocess, [
2759         VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])])
2760
2761       AC_CHECK_LIB(avcodec, avcodec_init, [
2762         VLC_ADD_BUILTINS([ffmpeg])
2763         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2764         if test "${enable_sout}" != "no"; then
2765             VLC_ADD_BUILTINS([stream_out_switcher])
2766         fi],
2767          [ 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])
2768
2769       
2770       AC_CHECK_LIB(avformat, av_open_input_stream, [
2771         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2772       LDFLAGS="${LDFLAGS_save}"
2773       CPPFLAGS="${CPPFLAGS_save}"
2774     ])
2775   fi
2776  fi 
2777 fi
2778
2779 dnl
2780 dnl  ffmpegaltivec plugin
2781 dnl
2782 AC_ARG_ENABLE(ffmpegaltivec,
2783 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
2784 if test "${enable_ffmpegaltivec}" = "yes"
2785 then
2786   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2787     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2788     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2789     if test -z "${real_ffmpeg_tree}"; then
2790       dnl  The given directory can't be found
2791       AC_MSG_RESULT(no)
2792       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2793     fi
2794     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2795       dnl  The given libavcodecaltivec wasn't built
2796       AC_MSG_RESULT(no)
2797       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2798     fi
2799     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2800       dnl  The given libavcodecaltivec wasn't built with --enable-pp
2801       AC_MSG_RESULT(no)
2802       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2803     fi
2804     dnl  Use a custom libffmpeg
2805     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2806     VLC_ADD_BUILTINS([ffmpegaltivec])
2807     VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2808     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2809     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2810
2811     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2812       AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
2813       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2814       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2815     fi
2816     VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2817     VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2818   fi
2819 fi
2820
2821 dnl
2822 dnl  faad decoder plugin
2823 dnl
2824 AC_ARG_ENABLE(faad,
2825 [  --enable-faad           faad codec (default disabled)])
2826 if test "${enable_faad}" = "yes"
2827 then
2828   AC_ARG_WITH(faad-tree,
2829   [    --with-faad-tree=PATH faad tree for static linking])
2830   if test -n "${with_faad_tree}"
2831   then
2832     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2833     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2834     if test -z "${real_faad_tree}"
2835     then
2836       dnl  The given directory can't be found
2837       AC_MSG_RESULT(no)
2838       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2839     fi
2840     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2841     then
2842       dnl  Use a custom faad
2843       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2844       VLC_ADD_BUILTINS([faad])
2845       VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2846       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2847     else
2848       dnl  The given libfaad wasn't built
2849       AC_MSG_RESULT(no)
2850       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2851     fi
2852   else
2853     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2854     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2855     AC_CHECK_HEADERS(faad.h, ,
2856       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2857     AC_CHECK_LIB(faad, faacDecOpen, [
2858       VLC_ADD_PLUGINS([faad])
2859       VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2860       AC_CHECK_LIB(faad, NeAACDecOpen, [
2861         VLC_ADD_PLUGINS([faad])
2862         VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2863         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2864     LDFLAGS="${LDFLAGS_save}"
2865     CPPFLAGS="${CPPFLAGS_save}"
2866   fi
2867 fi
2868
2869 dnl
2870 dnl twolame encoder plugin
2871 dnl
2872 AC_ARG_ENABLE(twolame,
2873 [  --enable-twolame        twolame codec (default disabled)])
2874 if test "${enable_twolame}" = "yes"
2875 then
2876   AC_ARG_WITH(twolame-tree,
2877   [    --with-twolame-tree=PATH twolame tree for static linking])
2878   if test -n "${with_twolame_tree}"
2879   then
2880     AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2881     real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2882     if test -z "${real_twolame_tree}"
2883     then
2884       dnl  The given directory can't be found
2885       AC_MSG_RESULT(no)
2886       AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2887     fi
2888     if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2889     then
2890       dnl  Use a custom twolame
2891       AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2892       VLC_ADD_BUILTINS([twolame])
2893       VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2894       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2895     else
2896       dnl  The given libtwolame wasn't built
2897       AC_MSG_RESULT(no)
2898       AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2899     fi
2900   else
2901     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2902     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2903     AC_CHECK_HEADERS(twolame.h, ,
2904       [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2905     AC_CHECK_LIB(twolame, twolame_init, [
2906       VLC_ADD_PLUGINS([twolame])
2907       VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2908         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2909     LDFLAGS="${LDFLAGS_save}"  
2910     CPPFLAGS="${CPPFLAGS_save}"
2911   fi
2912 fi
2913
2914 dnl
2915 dnl  QuickTime plugin
2916 dnl
2917 AC_ARG_ENABLE(quicktime,
2918   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
2919 if test "${enable_quicktime}" != "no" &&
2920   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2921 then
2922   if test "${SYS}" = "mingw32"; then
2923     VLC_ADD_BUILTINS([quicktime])
2924   else
2925   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2926     [ VLC_ADD_BUILTINS([quicktime])
2927       VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2928     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2929   fi
2930 fi
2931
2932 dnl
2933 dnl  Real plugin
2934 dnl
2935 AC_ARG_ENABLE(real,
2936   [  --enable-real           Real audio module (default disabled)])
2937 if test "${enable_real}" = "yes"; then
2938   VLC_ADD_PLUGINS([realaudio])
2939 fi
2940
2941 dnl
2942 dnl  Real RTSP plugin
2943 dnl
2944 AC_ARG_ENABLE(realrtsp,
2945   [  --enable-realrtsp       Real RTSP module (default disabled)])
2946 if test "${enable_realrtsp}" = "yes"; then
2947   VLC_ADD_PLUGINS([access_realrtsp])
2948 fi
2949
2950 dnl
2951 dnl MP4 module
2952 dnl
2953 AC_CHECK_HEADERS(zlib.h, [
2954   VLC_ADD_LDFLAGS([mp4 skins2 sap mkv gme],[-lz])
2955 ] )
2956
2957 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2958   VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2959 ] )
2960
2961 dnl
2962 dnl skins2 module
2963 dnl
2964 AC_CHECK_HEADERS(libtar.h, [
2965   VLC_ADD_LDFLAGS([skins2],[-ltar])
2966 ] )
2967
2968
2969
2970 dnl
2971 dnl A52/AC3 decoder plugin
2972 dnl
2973 AC_ARG_ENABLE(a52,
2974   [  --enable-a52            A/52 support with liba52 (default enabled)])
2975 if test "${enable_a52}" != "no"
2976 then
2977   AC_ARG_WITH(a52,
2978     [    --with-a52=PATH       a52 headers and libraries])
2979   AC_ARG_WITH(a52-tree,
2980     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
2981   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2982   then
2983     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2984     if test -z "${real_a52_tree}"
2985     then
2986       dnl  The given directory can't be found
2987       AC_MSG_RESULT(no)
2988       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2989     fi
2990     dnl  Use a custom a52dec
2991     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2992     if test -f ${real_a52_tree}/include/a52.h
2993     then
2994       AC_MSG_RESULT(yes)
2995       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2996       VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2997       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2998       AC_CHECK_LIB(a52, a52_free, [
2999         VLC_ADD_BUILTINS([a52tofloat32])
3000         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
3001         VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
3002         ],[
3003         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
3004         then
3005           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
3006         else
3007           AC_MSG_ERROR([the specified tree hasn't been compiled])
3008         fi
3009       ])
3010       LDFLAGS="${LDFLAGS_save}"
3011     else
3012       AC_MSG_RESULT(no)
3013       AC_MSG_ERROR([the specified tree doesn't have a52.h])
3014     fi
3015   else
3016     if test -z "${with_a52}"
3017     then
3018       LDFLAGS_test=""
3019       CPPFLAGS_test=""
3020     else
3021       LDFLAGS_test="-L${with_a52}/lib"
3022       CPPFLAGS_test="-I${with_a52}/include"
3023     fi
3024     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
3025     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
3026     AC_CHECK_HEADERS(a52dec/a52.h, [
3027       AC_CHECK_LIB(a52, a52_free, [
3028         VLC_ADD_PLUGINS([a52tofloat32])
3029         VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
3030         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
3031       ],[
3032         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.])
3033       ])
3034     ])
3035     CPPFLAGS="${CPPFLAGS_save}"
3036     LDFLAGS="${LDFLAGS_save}"
3037   fi
3038 fi
3039
3040 AC_ARG_WITH(a52-fixed,
3041       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
3042       [
3043         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
3044
3045 dnl
3046 dnl DTS Coherent Acoustics decoder plugin
3047 dnl
3048 AC_ARG_ENABLE(dts,
3049   [  --enable-dts            DTS Coherent Acoustics support with libdca (default enabled)])
3050 if test "${enable_dts}" != "no"; then
3051   AC_ARG_WITH(dts-tree,
3052     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
3053   if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
3054   then
3055     real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
3056     if test -z "${real_dts_tree}"
3057     then
3058       dnl  The given directory can't be found
3059       AC_MSG_RESULT(no)
3060       AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
3061     fi
3062     dnl  Use a custom libdts
3063     AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
3064     if test -f ${real_dts_tree}/include/dts.h
3065     then
3066       AC_MSG_RESULT(yes)
3067       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
3068       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
3069       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3070       AC_CHECK_LIB(dts_pic, dts_free, [
3071         VLC_ADD_PLUGINS([dtstofloat32])
3072         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
3073         ],[
3074         AC_CHECK_LIB(dts, dts_free, [
3075           VLC_ADD_BUILTINS([dtstofloat32])
3076           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3077           ],[
3078           if test -f ${real_dts_tree}/libdts/libdts.a
3079           then
3080             AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
3081           else
3082             AC_MSG_ERROR([the specified tree hasn't been compiled])
3083           fi
3084         ])
3085       ])
3086       LDFLAGS="${LDFLAGS_save}"
3087     else
3088       AC_MSG_RESULT(no)
3089       AC_MSG_ERROR([the specified tree doesn't have dts.h])
3090     fi
3091   else
3092     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
3093     AC_CHECK_HEADERS(dts.h, [
3094       AC_CHECK_LIB(dts_pic, dts_free, [
3095         VLC_ADD_PLUGINS([dtstofloat32])
3096         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
3097       ],[
3098         AC_CHECK_LIB(dts, dts_free, [
3099           VLC_ADD_BUILTINS([dtstofloat32])
3100           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
3101         ],[
3102           if test "${enable_dts}" = "yes"; then
3103             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
3104           fi
3105         ])
3106       ])
3107     ])
3108     LDFLAGS="${LDFLAGS_save}"
3109   fi
3110 fi
3111
3112 dnl
3113 dnl  Flac plugin
3114 dnl
3115 AC_ARG_ENABLE(flac,
3116   [  --enable-flac           flac decoder support (default disabled)])
3117 if test "${enable_flac}" = "yes"
3118 then
3119   AC_ARG_WITH(flac-tree,
3120   [    --with-flac-tree=PATH flac tree for static linking])
3121   if test -n "${with_flac_tree}"
3122   then
3123     AC_MSG_CHECKING(for libFLAC.a in ${with_flac_tree})
3124     real_flac_tree="`cd ${with_flac_tree} 2>/dev/null && pwd`"
3125     if test -z "${real_flac_tree}"
3126     then
3127       dnl  The given directory can't be found
3128       AC_MSG_RESULT(no)
3129       AC_MSG_ERROR([cannot cd to ${with_flac_tree}])
3130     fi
3131     if test -f "${real_flac_tree}/src/libFLAC/.libs/libFLAC.a"
3132     then
3133       dnl  Use a custom flac
3134       AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a)
3135       VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a])
3136       VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include])
3137       AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC])
3138     else
3139       dnl  The given flac wasn't built
3140       AC_MSG_RESULT(no)
3141       AC_MSG_ERROR([cannot find ${real_flac_tree}/src/libFLAC/.libs/libFLAC.a, make sure you compiled flac in ${with_flac_tree}])
3142     fi
3143   else
3144     AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
3145       VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
3146      ],[])
3147   fi
3148 fi
3149
3150 dnl
3151 dnl  Libmpeg2 plugin
3152 dnl
3153 AC_ARG_ENABLE(libmpeg2,
3154   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
3155 if test "${enable_libmpeg2}" != "no"
3156 then
3157   AC_ARG_WITH(libmpeg2-tree,
3158   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
3159   if test -n "${with_libmpeg2_tree}"
3160   then
3161     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
3162     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
3163     if test -z "${real_libmpeg2_tree}"
3164     then
3165       dnl  The given directory can't be found
3166       AC_MSG_RESULT(no)
3167       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
3168     fi
3169     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
3170     then
3171       dnl  Use a custom libmpeg2
3172       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
3173       VLC_ADD_BUILTINS([libmpeg2])
3174       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
3175       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
3176       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
3177     else
3178       dnl  The given libmpeg2 wasn't built
3179       AC_MSG_RESULT(no)
3180       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
3181     fi
3182   else
3183     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
3184       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
3185       AC_EGREP_CPP(yes,
3186         [#include <mpeg2dec/mpeg2.h>
3187          #ifdef MPEG2_RELEASE
3188          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
3189          yes
3190          #endif
3191          #endif],
3192         [AC_MSG_RESULT([yes])
3193           VLC_ADD_PLUGINS([libmpeg2])
3194           VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
3195         [AC_MSG_RESULT([no])
3196           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.])])],
3197
3198       [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.])]
3199     )
3200   fi
3201 fi
3202
3203 dnl
3204 dnl  Vorbis plugin
3205 dnl
3206 AC_ARG_ENABLE(vorbis,
3207   [  --enable-vorbis         Vorbis decoder support (default enabled)])
3208 if test "${enable_vorbis}" != "no"
3209 then
3210   AC_ARG_WITH(vorbis-tree,
3211   [    --with-vorbis-tree=PATH vorbis tree for static linking])
3212   if test -n "${with_vorbis_tree}"
3213   then
3214     AC_MSG_CHECKING(for libvorbis.a in ${with_vorbis_tree})
3215     real_vorbis_tree="`cd ${with_vorbis_tree} 2>/dev/null && pwd`"
3216     if test -z "${real_vorbis_tree}"
3217     then
3218       dnl  The given directory can't be found
3219       AC_MSG_RESULT(no)
3220       AC_MSG_ERROR([cannot cd to ${with_vorbis_tree}])
3221     fi
3222     if test -f "${real_vorbis_tree}/lib/.libs/libvorbis.a"
3223     then
3224       dnl  Use a custom vorbis 
3225       AC_MSG_RESULT(${real_vorbis_tree}/lib/.libs/libvorbis.a)
3226       VLC_ADD_PLUGINS([vorbis])
3227       VLC_ADD_LDFLAGS([vorbis],[${real_vorbis_tree}/lib/.libs/libvorbis.a ${real_vorbis_tree}/lib/.libs/libvorbisenc.a])
3228       VLC_ADD_CFLAGS([vorbis],[-I${real_vorbis_tree}/include])
3229     else
3230       dnl  The given vorbis wasn't built
3231       AC_MSG_RESULT(no)
3232       AC_MSG_ERROR([cannot find ${real_vorbis_tree}/lib/.libs/libvorbis.a, make sure you compiled vorbis in ${with_vorbis_tree}])
3233     fi
3234   else
3235     AC_CHECK_HEADERS(vorbis/codec.h, [
3236       VLC_ADD_PLUGINS([vorbis])
3237       VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
3238
3239     AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
3240       VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
3241   fi
3242 fi
3243
3244 dnl
3245 dnl  Tremor plugin
3246 dnl
3247 AC_ARG_ENABLE(tremor,
3248   [  --enable-tremor         Tremor decoder support (default disabled)])
3249 if test "${enable_tremor}" = "yes"
3250 then
3251   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
3252     VLC_ADD_PLUGINS([tremor])
3253     VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
3254    ],[])
3255 fi
3256
3257 dnl
3258 dnl  Speex plugin
3259 dnl
3260 AC_ARG_ENABLE(speex,
3261   [  --enable-speex          Speex decoder support (default enabled)])
3262 if test "${enable_speex}" != "no"
3263 then
3264   AC_ARG_WITH(speex-tree,
3265   [    --with-speex-tree=PATH speex tree for static linking])
3266   if test -n "${with_speex_tree}"
3267   then
3268     AC_MSG_CHECKING(for libspeex.a in ${with_speex_tree})
3269     real_speex_tree="`cd ${with_speex_tree} 2>/dev/null && pwd`"
3270     if test -z "${real_speex_tree}"
3271     then
3272       dnl  The given directory can't be found
3273       AC_MSG_RESULT(no)
3274       AC_MSG_ERROR([cannot cd to ${with_speex_tree}])
3275     fi
3276     if test -f "${real_speex_tree}/libspeex/.libs/libspeex.a"
3277     then
3278       dnl  Use a custom speex
3279       AC_MSG_RESULT(${real_speex_tree}/libspeex/.libs/libspeex.a)
3280       VLC_ADD_PLUGINS([speex])
3281       VLC_ADD_LDFLAGS([speex],[${real_speex_tree}/libspeex/.libs/libspeex.a])
3282       VLC_ADD_CFLAGS([speex],[-I${real_speex_tree}/include])
3283     else
3284       dnl  The given speex wasn't built
3285       AC_MSG_RESULT(no)
3286       AC_MSG_ERROR([cannot find ${real_speex_tree}/libspeex/.libs/libspeex.a, make sure you compiled speex in ${with_speex_tree}])
3287     fi
3288   else
3289     AC_CHECK_HEADERS(speex/speex.h, [
3290       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
3291       AC_CHECK_LIB(speex, speex_decode_int, [
3292         VLC_ADD_PLUGINS([speex])
3293         VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
3294         [ AC_MSG_RESULT([no])
3295           AC_MSG_WARN([Your libspeex is too old, please get the development
3296                        version.]) ],[])
3297       LDFLAGS="${LDFLAGS_save}"
3298       ],[])
3299   fi
3300 fi
3301
3302 dnl
3303 dnl  tarkin decoder plugin
3304 dnl
3305 AC_ARG_ENABLE(tarkin,
3306 [  --enable-tarkin         experimental tarkin codec (default disabled)])
3307 if test "${enable_tarkin}" = "yes"
3308 then
3309   AC_ARG_WITH(tarkin-tree,
3310   [    --with-tarkin-tree=PATH tarkin tree for static linking])
3311   if test -n "${with_tarkin_tree}"
3312   then
3313     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
3314     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
3315     if test -f "${real_tarkin_tree}/tarkin.o"
3316     then
3317       VLC_ADD_BUILTINS([tarkin])
3318       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
3319       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])
3320       AC_MSG_RESULT(yes)
3321     else
3322       dnl  The given tarkin tree wasn't built
3323       AC_MSG_RESULT(no)
3324       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
3325                     make sure you compiled tarkin in ${with_tarkin_tree}])
3326     fi
3327   fi
3328 fi
3329
3330 dnl
3331 dnl  theora decoder plugin
3332 dnl
3333 AC_ARG_ENABLE(theora,
3334 [  --enable-theora         experimental theora codec (default disabled)])
3335 if test "${enable_theora}" = "yes"
3336 then
3337   AC_CHECK_HEADERS(theora/theora.h, [
3338     AC_CHECK_LIB(theora, theora_granule_time, [
3339       if test "${SYS}" = "mingw32"; then
3340         VLC_ADD_PLUGINS([theora])
3341       else
3342         VLC_ADD_BUILTINS([theora])
3343       fi
3344       theora_libs="-ltheora -logg"
3345       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
3346       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
3347 You also need to check that you have a libogg posterior to the 1.0 release.])],
3348       [-logg])
3349   ])
3350 fi
3351
3352 dnl
3353 dnl  dirac decoder plugin
3354 dnl
3355 AC_ARG_ENABLE(dirac,
3356 [  --enable-dirac          experimental dirac codec (default disabled)])
3357 if test "${enable_dirac}" = "yes"; then
3358   PKG_CHECK_MODULES(DIRAC,dirac, [
3359       VLC_ADD_PLUGINS([dirac])
3360       VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
3361       VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
3362       AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])
3363   ])
3364 fi
3365
3366 dnl
3367 dnl  PNG decoder module
3368 dnl
3369 AC_ARG_ENABLE(png,
3370   [  --enable-png            PNG support (default enabled)])
3371 if test "${enable_png}" != "no"; then
3372 AC_CHECK_HEADERS(png.h, [
3373   LDFLAGS="${LDFLAGS_save} -lz"
3374   AC_CHECK_LIB(png, png_set_rows, [
3375     VLC_ADD_LDFLAGS([png],[-lpng -lz])
3376     VLC_ADD_PLUGINS([png])
3377     VLC_ADD_PLUGINS([osdmenu])
3378     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
3379     [],[-lz])
3380   LDFLAGS="${LDFLAGS_save}"
3381   ])
3382 fi
3383
3384 dnl
3385 dnl H264 encoder plugin (using libx264)
3386 dnl
3387 AC_ARG_ENABLE(x264,
3388   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
3389 if test "${enable_x264}" != "no"; then
3390   AC_ARG_WITH(x264-tree,
3391     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
3392   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
3393   then
3394     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
3395     if test -z "${real_x264_tree}"
3396     then
3397       dnl  The given directory can't be found
3398       AC_MSG_RESULT(no)
3399       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
3400     fi
3401     dnl  Use a custom libx264
3402     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
3403     if test -f ${real_x264_tree}/x264.h
3404     then
3405       AC_MSG_RESULT(yes)
3406       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
3407       VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
3408       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3409       AC_CHECK_LIB(x264, x264_encoder_open, [
3410         VLC_ADD_BUILTINS([x264])
3411         VLC_ADD_LDFLAGS([x264],[-lx264])
3412       ],[
3413         AC_MSG_ERROR([the specified tree hasn't been compiled])
3414       ])
3415       LDFLAGS="${LDFLAGS_save}"
3416     else
3417       AC_MSG_RESULT(no)
3418       AC_MSG_ERROR([the specified tree doesn't have x264.h])
3419     fi
3420   else
3421     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}"
3422     AC_CHECK_HEADERS(x264.h, [
3423       AC_CHECK_LIB(x264, x264_encoder_open, [
3424         VLC_ADD_PLUGINS([x264])
3425         VLC_ADD_LDFLAGS([x264],[-lx264])
3426       ],[
3427         if test "${enable_x264}" = "yes"; then
3428             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
3429           fi
3430       ])
3431     ])
3432     LDFLAGS="${LDFLAGS_save}"
3433   fi
3434 fi
3435
3436 dnl
3437 dnl  CMML plugin
3438 dnl
3439 AC_ARG_ENABLE(cmml,
3440   [  --enable-cmml           CMML support (default enabled)])
3441 if test "${enable_cmml}" != "no"
3442 then
3443   VLC_ADD_PLUGINS([cmml])
3444 fi
3445
3446
3447 dnl
3448 dnl  Video plugins
3449 dnl
3450
3451 AC_ARG_WITH(,[Video plugins:])
3452
3453 dnl Check for DPMS
3454 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
3455   CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3456   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
3457     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
3458     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
3459       AC_MSG_RESULT(yes)
3460       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
3461                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
3462     ],[
3463       AC_MSG_RESULT(no)
3464     ])
3465   ],,[
3466     #include <X11/Xlib.h>
3467   ])
3468   CPPFLAGS="${CPPFLAGS_save}"
3469 fi
3470
3471 dnl
3472 dnl  X11 module
3473 dnl  (enabled by default except on win32)
3474 dnl
3475 AC_ARG_ENABLE(x11,
3476   [  --enable-x11            X11 support (default enabled)])
3477 if test "${enable_x11}" != "no" &&
3478   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3479    test "${enable_x11}" = "yes"); then
3480   CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}"
3481   AC_CHECK_HEADERS(X11/Xlib.h, [
3482     VLC_ADD_PLUGINS([x11])
3483     VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext])
3484     VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}])
3485   ])
3486   CPPFLAGS="${CPPFLAGS_save}"
3487 fi
3488
3489 dnl
3490 dnl  XVideo module
3491 dnl  (enabled by default except on win32)
3492 dnl
3493 AC_ARG_ENABLE(xvideo,
3494   [  --enable-xvideo         XVideo support (default enabled)])
3495 if test "${enable_xvideo}" != "no" &&
3496   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3497    test "${enable_xvideo}" = "yes"); then
3498   CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3499   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
3500     CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3501     AC_CHECK_LIB(Xv,XvPutImage,[
3502       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
3503       # test for libXv_pic.
3504       if test -f /usr/X11R6/lib/libXv.so -o -f /usr/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
3505         VLC_ADD_PLUGINS([xvideo])
3506         VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3507         VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3508       else
3509         AC_CHECK_LIB(Xv_pic,XvPutImage,[
3510           VLC_ADD_PLUGINS([xvideo])
3511           VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3512           VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv_pic])
3513         ],[
3514           VLC_ADD_BUILTINS([xvideo])
3515           VLC_ADD_LDFLAGS([xvideo],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXv])
3516           VLC_ADD_CPPFLAGS([xvideo],[${X_CFLAGS}])
3517         ])
3518       fi
3519     ])
3520     CFLAGS="${CFLAGS_save}"
3521   ]
3522   CPPFLAGS="${CPPFLAGS_save}")
3523 fi
3524
3525 dnl
3526 dnl  GLX module
3527 dnl  (enabled by default except on win32)
3528 dnl
3529 AC_ARG_ENABLE(glx,
3530   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
3531 if test "${enable_glx}" != "no" &&
3532   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3533    test "${enable_glx}" = "yes"); then
3534   CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3535   AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h, [
3536       VLC_ADD_PLUGINS([glx])
3537       VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
3538       VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
3539    ])
3540   CPPFLAGS="${CPPFLAGS_save}"
3541 fi
3542
3543 dnl
3544 dnl  Check for the Xinerama extension
3545 dnl
3546 AC_ARG_ENABLE(xinerama,
3547   [  --enable-xinerama       Xinerama support (default enabled)])
3548 if test "${enable_xvideo}" != "no" && test "${enable_xinerama}" != "no" &&
3549   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3550    test "${enable_xvideo}" = "yes"); then
3551   ac_cv_have_xinerama="no"
3552   CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3553   CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3554   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
3555     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
3556       VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
3557       VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
3558       VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
3559       ac_cv_have_xinerama="yes"
3560     ],[
3561       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
3562         VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3563         VLC_ADD_LDFLAGS([x11],[-lXinerama])
3564         VLC_ADD_LDFLAGS([glx],[-lXinerama])
3565         ac_cv_have_xinerama="yes"
3566       ])
3567     ])
3568   ])
3569   if test "${ac_cv_have_xinerama}" = "yes"; then
3570     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3571   fi
3572   CFLAGS="${CFLAGS_save}"
3573   CPPFLAGS="${CPPFLAGS_save}"
3574
3575 dnl
3576 dnl  Check for XF86VidMode extension
3577 dnl
3578   ac_cv_have_xf86vidmode="no"
3579   CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
3580   CFLAGS="${CFLAGS_save} ${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext"
3581   AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,[
3582     AC_CHECK_LIB(Xxf86vm_pic, XF86VidModeGetViewPort,[
3583       VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm_pic])
3584       VLC_ADD_LDFLAGS([x11],[-lXxf86vm_pic])
3585       VLC_ADD_LDFLAGS([glx],[-lXxf86vm_pic])
3586       ac_cv_have_xf86vidmode="yes"
3587     ],[
3588       AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
3589         VLC_ADD_LDFLAGS([xvideo],[-lXxf86vm])
3590         VLC_ADD_LDFLAGS([x11],[-lXxf86vm])
3591         VLC_ADD_LDFLAGS([glx],[-lXxf86vm])
3592         ac_cv_have_xf86vidmode="yes"
3593       ])
3594     ])
3595   ],[true],
3596 [#ifdef HAVE_X11_XLIB_H
3597 # include <X11/Xlib.h>
3598 #endif]
3599    )
3600   AS_IF([test "${ac_cv_have_xf86vidmode}" = "yes"],
3601     [AC_DEFINE(HAVE_XF86VIDMODE, 1, [Define this if you have libXxf86vm installed])
3602   ])
3603   CFLAGS="${CFLAGS_save}"
3604   CPPFLAGS="${CPPFLAGS_save}"
3605
3606 fi
3607
3608 dnl
3609 dnl  OpenGL module
3610 dnl  (enabled by default except on beos)
3611 dnl
3612 AC_ARG_ENABLE(opengl,
3613   [  --enable-opengl         OpenGL support (default enabled)])
3614 if test "${enable_opengl}" != "no" &&
3615    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3616   if test "${SYS}" != "darwin"; then
3617     AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
3618       VLC_ADD_PLUGINS([opengl])
3619       if test "${SYS}" != "mingw32"; then
3620         VLC_ADD_LDFLAGS([opengl],[${X_LIBS} -lGL -lGLU])
3621       else
3622         VLC_ADD_LDFLAGS([opengl],[-lopengl32 -lglu32])
3623       fi
3624     ])
3625   else
3626     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3627     VLC_ADD_PLUGINS([opengl])
3628     VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3629   fi
3630 fi
3631
3632 dnl
3633 dnl  SDL module
3634 dnl
3635 AC_ARG_ENABLE(sdl,
3636   [  --enable-sdl            SDL support (default enabled)])
3637 if test "${enable_sdl}" != "no"
3638 then
3639   SDL_PATH="${PATH}"
3640   AC_ARG_WITH(sdl-config-path,
3641     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3642     [ if test "${with_sdl_config_path}" != "no"
3643       then
3644         SDL_PATH="${with_sdl_config_path}:${PATH}"
3645       fi ])
3646   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3647   SDL_CONFIG="${SDL12_CONFIG}"
3648   SDL_HEADER="SDL12/SDL.h"
3649   SDL_IMAGE="SDL12/SDL_image.h"
3650   if test "${SDL_CONFIG}" = "no"
3651   then
3652     AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3653     SDL_CONFIG=${SDL11_CONFIG}
3654     SDL_HEADER="SDL11/SDL.h"
3655     SDL_IMAGE="SDL11/SDL_image.h"
3656   fi
3657   if test "${SDL_CONFIG}" = "no"
3658   then
3659     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3660     SDL_HEADER="SDL/SDL.h"
3661     SDL_IMAGE="SDL/SDL_image.h"
3662   fi
3663   # check for cross-compiling
3664   SDL_PREFIX=
3665   AC_ARG_WITH(sdl-prefix,
3666     [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3667                                e.g use as:
3668                                --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3669   if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3670   then
3671     SDL_PREFIX="--prefix=${with_sdl_prefix}"
3672   fi
3673   if test "${SDL_CONFIG}" != "no"
3674   then
3675     # SDL on Darwin is heavily patched and can only run SDL_image
3676     if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3677       VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3678     fi
3679     VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3680     VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3681     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3682     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3683       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3684       [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3685           As a last resort we also test for SDL.h presence),
3686       [ AC_MSG_ERROR([The development package for SDL is not installed.
3687 Please install it and try again. Alternatively you can also configure with
3688 --disable-sdl.])
3689       ])])
3690     AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3691       <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3692       VLC_ADD_PLUGINS([sdl_image])
3693       AC_CHECK_LIB(png, png_set_rows,
3694         [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3695       AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3696         [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3697       AC_CHECK_LIB(tiff, TIFFClientOpen,
3698         [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3699       VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3700       [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3701           As a last resort we also test for SDL_image.h presence),
3702       [ AC_MSG_WARN([The development package for SDL_image is not installed.
3703 You should install it alongside your SDL package.])
3704       ])])
3705     CPPFLAGS="${CPPFLAGS_save}"
3706     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3707     then
3708       AC_MSG_ERROR([The development package for SDL is not installed.
3709 Please install it and try again. Alternatively you can also configure with
3710 --disable-sdl.])
3711     fi
3712
3713   elif test "${enable_sdl}" =  "yes"
3714   then
3715     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3716 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3717     ])
3718   fi
3719 fi
3720
3721 dnl
3722 dnl  freetype module
3723 dnl
3724 AC_ARG_ENABLE(freetype,
3725   [  --enable-freetype       freetype support (default enabled)])
3726 AC_ARG_ENABLE(fribidi,
3727   [  --enable-fribidi        fribidi support (default enabled)])
3728 if test "${enable_freetype}" != "no"
3729 then
3730   FREETYPE_PATH="${PATH}"
3731   AC_ARG_WITH(freetype-config-path,
3732     [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3733     [ if test "${with_freetype_config_path}" != "no"
3734       then
3735         FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3736       fi ])
3737   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3738
3739   if test "${FREETYPE_CONFIG}" != "no"
3740   then
3741     VLC_ADD_PLUGINS([freetype])
3742     VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3743     VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3744     AC_CHECK_HEADERS(Carbon/Carbon.h,
3745       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3746   elif test "${enable_freetype}" =  "yes"
3747   then
3748     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3749 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3750     ])
3751   fi
3752
3753   dnl fribidi support
3754   if test "${enable_fribidi}" != "no"
3755   then
3756     FRIBIDI_PATH="${PATH}"
3757     AC_ARG_WITH(fribidi-config-path,
3758       [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3759       [ if test "${with_fribidi_config_path}" != "no"
3760         then
3761           FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3762         fi ])
3763     AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3764
3765     if test "${FRIBIDI_CONFIG}" != "no"
3766     then
3767       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3768       VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3769       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3770       VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3771     fi
3772   fi
3773 fi
3774
3775 dnl
3776 dnl  libxml2 module
3777 dnl
3778 AC_ARG_ENABLE(libxml2,
3779   [  --enable-libxml2        libxml2 support (default enabled)])
3780 if test "${enable_libxml2}" != "no"
3781 then
3782   XML2_PATH="${PATH}"
3783   AC_ARG_WITH(xml2-config-path,
3784     [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3785     [ if test "${with_xml2_config_path}" != "no"; then
3786         XML2_PATH="${with_xml2_config_path}:${PATH}"
3787       fi ])
3788   AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3789   if test "${XML2_CONFIG}" != "no"; then
3790     VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3791     VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3792     dnl depends on the xmlTextReader extension
3793     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3794     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3795     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3796       AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3797         VLC_ADD_PLUGINS([xml]) ],[
3798           AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3799           if test "${enable_xml2}" = "yes"; then
3800             AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3801           fi])
3802        ],[
3803       AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3804       if test "${enable_xml2}" = "yes"; then
3805         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3806       fi])
3807     LDFLAGS="${LDFLAGS_save}"
3808     CPPFLAGS="${CPPFLAGS_save}"
3809   else
3810     if test "${enable_xml2}" = "yes"; then
3811       AC_MSG_ERROR([Could not find libxml2])
3812     fi
3813   fi
3814 fi
3815
3816 dnl
3817 dnl  SVG module
3818 dnl
3819 AC_ARG_ENABLE(svg,
3820   [  --enable-svg            SVG support (default disabled)])
3821 if test "${enable_svg}" = "yes"
3822 then
3823   PKG_CHECK_MODULES(SVG, 
3824         librsvg-2.0 >= 2.9.0,
3825         [
3826           VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3827           VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3828           VLC_ADD_PLUGINS([svg]) ],
3829         [AC_MSG_WARN(SVG library not found)])
3830 fi
3831
3832 dnl
3833 dnl Snapshot vout module (with cache)
3834 dnl
3835 AC_ARG_ENABLE(snapshot,
3836   [  --enable-snapshot       snapshot module (default disabled)])
3837 if test "${enable_snapshot}" = "yes"
3838 then
3839   VLC_ADD_PLUGINS([snapshot])
3840 fi
3841
3842 dnl
3843 dnl  Qt Embedded module
3844 dnl  (disabled by default)
3845 dnl
3846 AC_ARG_ENABLE(qte,
3847   [  --enable-qte            QT Embedded support (default disabled)])
3848 if test "${enable_qte}" = "yes"
3849 then
3850   AC_ARG_WITH(qte,
3851   [    --with-qte=PATH       Qt Embedded headers and libraries])
3852   if test "${with_qte}" != "no" -a -n "${with_qte}"
3853   then
3854     VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3855     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])
3856   else
3857     VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3858     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3859   fi
3860   VLC_ADD_PLUGINS([qte])
3861   NEED_QTE_MAIN=yes
3862   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3863   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3864     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3865   ] )
3866   CPPFLAGS="${CPPFLAGS_save}"
3867 fi
3868
3869 dnl
3870 dnl  Qt Video output module
3871 dnl  (disabled by default)
3872 dnl
3873 dnl AC_ARG_ENABLE(qt_video,
3874 dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
3875 dnl if test "${enable_qt_video}" = "yes"
3876 dnl then
3877 dnl  VLC_ADD_PLUGINS([qt_video])
3878 dnl  VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3879 dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3880 dnl   AC_CHECK_LIB(qt-mt,main,[
3881 dnl    VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3882 dnl  ],[
3883 dnl    AC_CHECK_LIB(qt,main,[
3884 dnl      VLC_ADD_LDFLAGS([qt_video],[-lqt])
3885 dnl    ])
3886 dnl  ])
3887 dnl  NEED_QTE_MAIN=yes
3888 dnl  LDFLAGS="${LDFLAGS_save}"
3889 dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3890 dnl fi
3891
3892 dnl
3893 dnl Roku HD1000 Video output module
3894 dnl
3895 AC_ARG_ENABLE(hd1000v,
3896   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3897 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3898   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3899    test "${enable_hd1000v}" = "yes"); then
3900   AC_LANG_PUSH([C++])
3901   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3902   [
3903     can_build_roku="yes"
3904   ],
3905   [
3906     can_build_roku="no"
3907     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3908   ])
3909   if test "$can_build_roku" = "yes"
3910   then
3911     VLC_ADD_PLUGINS([hd1000v])
3912     VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3913   fi
3914   AC_LANG_POP([C++])
3915 fi
3916
3917 dnl
3918 dnl  Windows DirectX module
3919 dnl
3920 AC_ARG_ENABLE(directx,
3921   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3922 if test "${enable_directx}" != "no"
3923 then
3924   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3925   then
3926     AC_ARG_WITH(directx,
3927     [    --with-directx=PATH   Win32 DirectX headers])
3928     if test -z "${with_directx}"
3929     then
3930       AC_CHECK_HEADERS(ddraw.h,
3931       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3932         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3933       ])
3934       AC_CHECK_HEADERS(GL/gl.h,
3935       [ VLC_ADD_PLUGINS([glwin32])
3936         VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3937       ])
3938       AC_CHECK_HEADERS(d3d9.h,
3939       [ VLC_ADD_PLUGINS([direct3d])
3940         VLC_ADD_LDFLAGS([direct3d],[-ld3d9 -lgdi32])
3941       ])
3942     else
3943       AC_MSG_CHECKING(for directX headers in ${with_directx})
3944       if test -f ${with_directx}/ddraw.h
3945       then
3946         VLC_ADD_PLUGINS([vout_directx aout_directx])
3947         VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3948         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3949         AC_MSG_RESULT(yes)
3950       else
3951         AC_MSG_RESULT(no)
3952         AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3953       fi
3954     fi
3955   fi
3956 fi
3957
3958 dnl
3959 dnl  Linux framebuffer module
3960 dnl
3961 AC_ARG_ENABLE(fb,
3962   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3963     if test "${enable_fb}" != "no"
3964     then
3965       AC_CHECK_HEADERS(linux/fb.h, [
3966         VLC_ADD_PLUGINS([fb])
3967       ])
3968     fi
3969
3970 dnl
3971 dnl  Linux MGA module
3972 dnl
3973 AC_ARG_ENABLE(mga,
3974   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3975   [ if test "${enable_mga}" = "yes"
3976     then
3977       VLC_ADD_PLUGINS([mga])
3978     fi ])
3979
3980 dnl
3981 dnl  SVGAlib module
3982 dnl
3983 AC_ARG_ENABLE(svgalib,
3984   [  --enable-svgalib        SVGAlib support (default disabled)])
3985 if test "${enable_svgalib}" = "yes"
3986 then
3987   VLC_ADD_PLUGINS([svgalib])
3988   VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3989 fi
3990
3991 dnl
3992 dnl  DirectFB module
3993 dnl
3994 AC_ARG_ENABLE(directfb,
3995   [  --enable-directfb       DirectFB support (default disabled)])
3996 if test "${enable_directfb}" = "yes"
3997 then
3998   if test "${with_directfb}" = "no"
3999   then
4000     AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4001     if test "${have_directfb}"= "true"
4002     then
4003         VLC_ADD_PLUGINS([directfb])
4004         VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4005         VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
4006     else
4007         AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
4008     fi
4009   else
4010     CPPFLAGS_save="${CPPFLAGS}"
4011     CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
4012     AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
4013     CPPFLAGS="${CPPFLAGS_save}"
4014     AC_ARG_WITH(directfb,
4015         [    --with-directfb=PATH  path to directfb],
4016         [ if test "${with_directfb}" != "no" -a -n "${with_directfb}"
4017         then
4018             VLC_ADD_PLUGINS([directfb])
4019             VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT])
4020             VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
4021         fi ],
4022         [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
4023   fi
4024 fi
4025
4026 dnl
4027 dnl  GGI module
4028 dnl
4029 AC_ARG_ENABLE(ggi,
4030   [  --enable-ggi            GGI support (default disabled)])
4031 if test "${enable_ggi}" = "yes"
4032 then
4033   VLC_ADD_PLUGINS([ggi])
4034   VLC_ADD_LDFLAGS([ggi],[-lggi])
4035   AC_ARG_WITH(ggi,
4036     [    --with-ggi=PATH       path to libggi],
4037     [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
4038       then
4039         VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
4040         VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
4041       fi ])
4042 fi
4043
4044 dnl
4045 dnl  Glide module
4046 dnl
4047 AC_ARG_ENABLE(glide,
4048   [  --enable-glide          Glide (3dfx) support (default disabled)])
4049 if test "${enable_glide}" = "yes"
4050 then
4051   CFLAGS_save="${CFLAGS}"
4052   AC_ARG_WITH(glide,
4053     [    --with-glide=PATH     path to libglide],
4054     [ if test "${with_glide}" != "no" -a -n "${with_glide}"
4055       then
4056         VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
4057         VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
4058         CFLAGS="$CFLAGS -I${with_glide}/include"
4059     fi ])
4060    CFLAGS="$CFLAGS -I/usr/include/glide"
4061    AC_CHECK_HEADER(glide.h,[   
4062       VLC_ADD_PLUGINS([glide])
4063       VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
4064       VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
4065     ],[
4066       AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
4067      ])
4068    CFAGS="${CFLAGS_save}"
4069 fi
4070
4071 dnl
4072 dnl  AA plugin
4073 dnl
4074 AC_ARG_ENABLE(aa,
4075   [  --enable-aa             aalib output (default disabled)])
4076 if test "${enable_aa}" = "yes"
4077 then
4078   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
4079   if test "${have_aa}" = "true"
4080   then
4081     VLC_ADD_PLUGINS([aa])
4082     VLC_ADD_LDFLAGS([aa],[-laa])
4083   fi
4084 fi
4085
4086 dnl
4087 dnl  libcaca plugin
4088 dnl
4089 AC_ARG_ENABLE(caca,
4090   [  --enable-caca           libcaca output (default disabled)])
4091 if test "${enable_caca}" = "yes"
4092 then
4093   CACA_PATH="${PATH}"
4094   AC_ARG_WITH(caca-config-path,
4095     [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
4096     [ if test "${with_caca_config_path}" != "no"
4097       then
4098         CACA_PATH="${with_caca_config_path}:${PATH}"
4099       fi ])
4100   AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
4101   if test "${CACA_CONFIG}" != "no"
4102   then
4103     VLC_ADD_PLUGINS([caca])
4104     VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
4105     VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
4106   fi
4107 fi
4108
4109 dnl
4110 dnl  win32 GDI plugin
4111 dnl
4112 AC_ARG_ENABLE(wingdi,
4113   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
4114 if test "${enable_wingdi}" != "no"; then
4115   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4116     VLC_ADD_PLUGINS([wingdi])
4117     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
4118   fi
4119   if test "${SYS}" = "mingwce"; then
4120     VLC_ADD_PLUGINS([wingdi wingapi])
4121   fi
4122 fi
4123
4124 dnl
4125 dnl  Audio plugins
4126 dnl
4127
4128 AC_ARG_WITH(,[Audio plugins:])
4129
4130 dnl
4131 dnl  OSS /dev/dsp module (enabled by default except on win32)
4132 dnl
4133 AC_ARG_ENABLE(oss,
4134   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
4135
4136 if test "${enable_oss}" != "no" &&
4137   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4138    test "${enable_oss}" = "yes")
4139 then
4140   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
4141     VLC_ADD_PLUGINS([oss])
4142     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
4143   ])
4144 fi
4145
4146 dnl
4147 dnl  Esound module
4148 dnl
4149 AC_ARG_ENABLE(esd,
4150   [  --enable-esd            Esound library support (default disabled)],
4151   [if test "${enable_esd}" = "yes"
4152    then
4153      AC_PATH_PROG(ESD_CONFIG, esd-config, no)
4154      if test "${ESD_CONFIG}" != "no"
4155      then
4156        VLC_ADD_PLUGINS([esd])
4157        VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
4158        VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
4159      fi
4160    fi])
4161
4162 dnl
4163 dnl  Portaudio module
4164 dnl
4165 AC_ARG_ENABLE(portaudio,
4166   [  --enable-portaudio      Portaudio library support (default disabled)],
4167   [if test "${enable_portaudio}" = "yes"
4168    then
4169      VLC_ADD_PLUGINS([portaudio])
4170      VLC_ADD_CXXFLAGS([portaudio],[])
4171      if test "${SYS}" = "mingw32"; then
4172         VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
4173      else
4174         VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
4175      fi
4176    fi])
4177
4178 dnl
4179 dnl  aRts module -- broken (freeze wxWidgets)
4180 dnl
4181 AC_ARG_ENABLE(arts,
4182  [  --enable-arts           aRts sound server (default disabled)],
4183  [if test "${enable_arts}" = "yes"
4184   then
4185     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
4186     if test "${ARTS_CONFIG}" != "no"
4187     then
4188       VLC_ADD_PLUGINS([arts])
4189       VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
4190       VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
4191     fi
4192   fi])
4193
4194 dnl
4195 dnl  ALSA module
4196 dnl
4197 AC_ARG_ENABLE(alsa,
4198   [  --enable-alsa           ALSA sound support for Linux (default enabled)])
4199 if test "${enable_alsa}" != "no"
4200 then
4201   AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
4202   if test "${have_alsa}" = "true"
4203   then
4204     CFLAGS="${CFLAGS_save}"
4205     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
4206                     #define ALSA_PCM_NEW_SW_PARAMS_API
4207                     #include <alsa/asoundlib.h>],
4208        [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
4209         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
4210     VLC_ADD_PLUGINS([alsa])
4211     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
4212   else
4213     if test "${enable_alsa}" = "yes"; then
4214       AC_MSG_ERROR([Could not find ALSA development headers])
4215     fi
4216   fi
4217 fi
4218
4219 dnl
4220 dnl  win32 waveOut plugin
4221 dnl
4222 AC_ARG_ENABLE(waveout,
4223   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
4224 if test "${enable_waveout}" != "no"; then
4225   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
4226     VLC_ADD_PLUGINS([waveout])
4227     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
4228   fi
4229   if test "${SYS}" = "mingwce"; then
4230     VLC_ADD_PLUGINS([waveout])
4231   fi
4232 fi
4233
4234 dnl
4235 dnl  CoreAudio plugin
4236 dnl
4237 AC_ARG_ENABLE(macosx-audio,
4238   [  --enable-macosx-audio   Mac OS X audio module (default enabled on MacOS X)])
4239 if test "${enable_macosx-audio}" != "no" &&
4240   (test "${SYS}" = "darwin" || test "${enable_macosx-audio}" = "yes")
4241 then
4242   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
4243     [ VLC_ADD_BUILTINS([auhal])
4244       VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
4245     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
4246 fi
4247
4248 dnl
4249 dnl  Roku HD1000 audio
4250 dnl
4251 AC_ARG_ENABLE(hd1000a,
4252   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
4253 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
4254   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
4255    test "${enable_hd1000a}" = "yes")
4256 then
4257   AC_LANG_PUSH([C++])
4258   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
4259     VLC_ADD_PLUGINS([hd1000a])
4260     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
4261   AC_LANG_POP([C++])
4262 fi
4263
4264 dnl
4265 dnl  JACK module
4266 dnl
4267 AC_ARG_ENABLE(jack,
4268  [  --enable-jack           JACK audio module (default disabled)],
4269  [if test "${enable_jack}" = "yes"
4270   then
4271     AC_CHECK_HEADERS(jack/jack.h, [
4272       VLC_ADD_PLUGINS([jack])
4273       VLC_ADD_LDFLAGS([jack],[-ljack]) ])
4274   fi])
4275
4276 dnl
4277 dnl  CyberLink for C++ UPnP stack
4278 dnl
4279 AC_ARG_ENABLE(cyberlink,
4280   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
4281   AS_IF([test "${enable_cyberlink}" = "yes" ], [
4282   AC_ARG_WITH(cyberlink-tree,
4283     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
4284
4285   dnl
4286   dnl test for --with-cyberlink-tree
4287   dnl
4288   AS_IF([test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""], [
4289     AC_LANG_PUSH(C++)
4290     real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
4291     AS_IF([test -z "${real_cyberlink_tree}"], [
4292       dnl  The given directory can't be found
4293       AC_MSG_RESULT(no)
4294       AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
4295     ])
4296     CPPFLAGS_save="${CPPFLAGS}"
4297     CPPFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
4298     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_cyberlink}"
4299     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
4300       [ VLC_ADD_CXXFLAGS([upnp_cc], [${CPPFLAGS_cyberlink}])
4301         VLC_ADD_PLUGINS([upnp_cc]) 
4302       ],[
4303         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
4304       ])
4305     AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
4306     AS_IF([test -f "${real_cyberlink_tree}/lib/unix/libclink.a"], [
4307       AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
4308       dnl The mere fact that we have to make such an ugly check sucks
4309       AC_MSG_CHECKING(for XML parser to link CyberLink with)
4310       LIBS_save="$LIBS"
4311       LIBS_cclink="no"
4312       for l in "`xml2-config --libs`" -lexpat -lxerces-c; do
4313         LIBS="$LIBS_save ${real_cyberlink_tree}/lib/unix/libclink.a -lpthread $l"
4314         AC_LINK_IFELSE([AC_LANG_PROGRAM([
4315 #include <cybergarage/upnp/media/player/MediaPlayer.h>
4316 using namespace CyberLink;
4317
4318 class testclass : public SearchResponseListener, public MediaPlayer
4319 {
4320     virtual void deviceSearchResponseReceived( SSDPPacket *)
4321     {
4322     }
4323
4324     public:
4325       testclass (void)
4326       {
4327         addSearchResponseListener (this);
4328         start ();
4329       }
4330 };
4331 ],[testclass l;])],[LIBS_cclink="$l"])
4332       done
4333       LIBS="${LIBS_save}"
4334       dnl should not happen - otherwise this needs fixing - hence FAILURE
4335       AS_IF([test "${LIBS_cclink}" = "no"],
4336         [AC_MSG_FAILURE([cannot find XML parser for CyberLink])])
4337       AC_MSG_RESULT([${LIBS_cclink}])
4338       VLC_ADD_LDFLAGS([upnp_cc], [${real_cyberlink_tree}/lib/unix/libclink.a -lpthread ${LIBS_cclink}])
4339     ], [
4340       AC_MSG_RESULT(no)
4341       AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
4342     ])
4343     CPPFLAGS="${CPPFLAGS_save}"
4344     AC_LANG_POP([C++])
4345   ])
4346 ])
4347
4348 dnl
4349 dnl UPnP Plugin (Intel SDK)
4350 dnl
4351 AC_ARG_ENABLE(upnp,
4352   [  --enable-upnp           Intel UPnP SDK (default auto)])
4353
4354 VLC_ADD_CXXFLAGS([upnp_intel], [ ])
4355 AS_IF([test "x${enable_upnp}" != "xno"], [
4356   AC_CHECK_LIB([upnp], [UpnpInit], [has_upnp="yes"], [has_upnp="no"], [-lpthread])
4357   AS_IF([test "x${enable_upnp}" != "x" && test "${has_upnp}" = "no"], [
4358     AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)])
4359   ])
4360   AS_IF([test "${has_upnp}" = "yes"], [
4361     VLC_ADD_LDFLAGS([upnp_intel], [-lupnp])
4362   ])
4363 ], [
4364   has_upnp="no"
4365 ])
4366
4367 AS_IF([test "${has_upnp}" = "yes"], [
4368   VLC_ADD_PLUGINS([upnp_intel])
4369 ])
4370
4371
4372 dnl
4373 dnl  Interface plugins
4374 dnl
4375
4376 AC_ARG_WITH(,[Interface plugins:])
4377
4378 dnl special case for BeOS
4379 if test "${SYS}" = "beos"
4380 then
4381     VLC_ADD_BUILTINS([beos])
4382 fi
4383
4384 dnl
4385 dnl Skins2 module
4386 dnl
4387 AC_ARG_ENABLE(skins2,
4388   [  --enable-skins2         Skins2 interface module (experimental)])
4389 if test "${enable_skins2}" = "yes" ||
4390   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
4391    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
4392
4393   dnl test for the required libraries
4394   skins2_missing_lib="no"
4395
4396   dnl freetype
4397   if test "${FREETYPE_CONFIG}" != "no"; then
4398     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
4399     VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
4400   else
4401     skins2_missing_lib="yes"
4402     if test "${enable_skins2}" = "yes"; then
4403       AC_MSG_ERROR([Could not find freetype (required for skins2)])
4404     fi
4405   fi
4406
4407   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
4408     VLC_ADD_PLUGINS([skins2])
4409     ALIASES="${ALIASES} svlc"
4410     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
4411     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4412     VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
4413
4414   else if test "${skins2_missing_lib}" = "no"; then
4415     VLC_ADD_PLUGINS([skins2])
4416     ALIASES="${ALIASES} svlc"
4417     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS])
4418     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
4419     VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
4420   fi fi
4421 fi
4422
4423
4424 dnl dnl
4425 dnl dnl  Gtk+ module
4426 dnl dnl
4427 dnl AC_ARG_ENABLE(gtk,
4428 dnl   [  --enable-gtk            Gtk+ support (default enabled)])
4429 dnl if test "${enable_gtk}" != "no"
4430 dnl then
4431 dnl   GTK_PATH="${PATH}"
4432 dnl   AC_ARG_WITH(gtk-config-path,
4433 dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
4434 dnl     [ if test "${with_gtk_config_path}" != "no"
4435 dnl       then
4436 dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
4437 dnl       fi ])
4438 dnl   # look for gtk-config
4439 dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
4440 dnl   GTK_CONFIG=${GTK12_CONFIG}
4441 dnl   if test "${GTK_CONFIG}" = "no"
4442 dnl   then
4443 dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
4444 dnl   fi
4445 dnl   if test "${GTK_CONFIG}" != "no"
4446 dnl   then
4447 dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
4448 dnl     then
4449 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.])
4450 dnl     fi
4451 dnl     if test "${SYS}" != "mingw32"; then
4452 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
4453 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
4454 dnl     else
4455 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
4456 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
4457 dnl     fi
4458 dnl     # now look for the gtk.h header
4459 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
4460 dnl     ac_cv_gtk_headers=yes
4461 dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
4462 dnl       ac_cv_gtk_headers=no
4463 dnl       echo "Cannot find gtk development headers."
4464 dnl     ])
4465 dnl     if test "${ac_cv_gtk_headers}" = "yes"
4466 dnl     then
4467 dnl       VLC_ADD_PLUGINS([gtk])
4468 dnl       if test "${SYS}" != "mingw32"; then
4469 dnl         NEED_GTK_MAIN=yes
4470 dnl       fi
4471 dnl       ALIASES="${ALIASES} gvlc"
4472 dnl     fi
4473 dnl     CPPFLAGS="${CPPFLAGS_save}"
4474 dnl   fi
4475 dnl fi
4476 dnl 
4477 dnl
4478 dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
4479 dnl
4480 dnl AC_ARG_ENABLE(gtk2,
4481 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
4482 dnl if test "${enable_gtk2}" = "yes"
4483 dnl then
4484 dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4485 dnl   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4486 dnl   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4487 dnl   VLC_ADD_PLUGINS([gtk2])
4488 dnl   if test "${SYS}" != "mingw32"; then
4489 dnl     NEED_GTK2_MAIN=yes
4490 dnl   fi
4491 dnl fi
4492
4493 dnl
4494 dnl  PDA Gtk+2 module
4495 dnl
4496 AC_ARG_ENABLE(pda,
4497   [  --enable-pda            PDA interface needs Gtk2 support (default disabled)])
4498 if test "${enable_pda}" = "yes"
4499 then
4500   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
4501   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
4502   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
4503   VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
4504   VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
4505   VLC_ADD_PLUGINS([pda])
4506   if test "${SYS}" != "mingw32"; then
4507     NEED_GTK2_MAIN=yes
4508   fi
4509 fi
4510
4511 dnl dnl
4512 dnl dnl  Gnome module
4513 dnl dnl
4514 dnl AC_ARG_ENABLE(gnome,
4515 dnl   [  --enable-gnome          Gnome interface support (default disabled)],
4516 dnl   [if test "${enable_gnome}" = "yes"; then
4517 dnl     # look for gnome-config
4518 dnl     AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
4519 dnl     if test -x ${GNOME_CONFIG}
4520 dnl     then
4521 dnl        VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
4522 dnl        VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
4523 dnl     fi
4524 dnl     # now look for the gnome.h header
4525 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
4526 dnl     AC_CHECK_HEADERS(gnome.h, [
4527 dnl       VLC_ADD_PLUGINS([gnome])
4528 dnl       NEED_GTK_MAIN=yes
4529 dnl       NEED_GNOME_MAIN=yes
4530 dnl       ALIASES="${ALIASES} gnome-vlc"
4531 dnl       dnl We need this because of some moronic gnomesupport.h flavours
4532 dnl       AC_MSG_CHECKING(for strndup in gnome.h)
4533 dnl       AC_EGREP_HEADER(strndup,gnome.h,[
4534 dnl         AC_MSG_RESULT(yes)
4535 dnl         AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
4536 dnl                   Define if <gnome.h> defines strndup.)],[
4537 dnl         AC_MSG_RESULT(no)])
4538 dnl      ],[
4539 dnl       AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
4540 dnl developement tools or remove the --enable-gnome option])
4541 dnl      ])
4542 dnl     CPPFLAGS="${CPPFLAGS_save}"
4543 dnl   fi])
4544
4545 dnl
4546 dnl  Gnome2 module ! Disabled for know as it is unuseable and confuses users
4547 dnl
4548 dnl AC_ARG_ENABLE(gnome2,
4549 dnl   [  --enable-gnome2         Gnome2 support (default disabled)])
4550 dnl if test "${enable_gnome2}" = "yes"
4551 dnl then
4552 dnl   PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
4553 dnl   VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
4554 dnl   VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
4555 dnl   VLC_ADD_PLUGINS([gnome2])
4556 dnl   if test "${SYS}" != "mingw32"; then
4557 dnl     NEED_GNOME2_MAIN=yes
4558 dnl   fi
4559 dnl fi
4560
4561 dnl
4562 dnl  wxWidgets module
4563 dnl
4564 AC_ARG_ENABLE(wxwidgets,
4565   [  --enable-wxwidgets      wxWidgets support (default enabled)])
4566 if test "${enable_wxwindows}" 
4567 then
4568   AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
4569 fi
4570
4571 if test "${enable_wxwindows}" = "no"
4572 then
4573   enable_wxwidgets="no"
4574 fi
4575 if test "${enable_wxwidgets}" != "no"
4576 then
4577   WXWIDGETS_PATH="${PATH}"
4578   AC_ARG_WITH(wx-config-path,
4579     [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
4580     [ if test "${with_wx_config_path}" != "no"
4581       then
4582         WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
4583       fi ])
4584   WXWIDGETS_NAME="wx-config"
4585   AC_ARG_WITH(wx-config,
4586     [    --with-wx-config=NAME      wx-config name (default is wx-config)],
4587     [ if test "${with_wx_config}" != "no"
4588       then
4589         WXWIDGETS_NAME="${with_wx_config}"
4590       fi ])
4591   # look for wx-config
4592   AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
4593   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
4594   then
4595     if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
4596     then
4597       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.])
4598     fi
4599     AC_LANG_PUSH(C++)
4600     # Turn this error:
4601     #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
4602     # into a warning. However better would be to fix playlist.cpp
4603     AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
4604         [ac_cv_cxx_fpermissive],
4605         [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
4606          AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
4607                         ac_cv_cxx_fpermissive=no)])
4608     if test "${ac_cv_cxx_fpermissive}" = "yes"; then
4609       VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
4610     fi
4611     VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
4612     VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
4613     if ${WX_CONFIG} --unicode
4614     then 
4615       # wxwidgets should provide the following flags but does not
4616       # the following is required to compile for win32
4617       VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE])
4618     fi
4619     if test "$have_libcdio" = "yes"
4620     then 
4621       VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
4622       VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
4623     else 
4624       AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
4625     fi
4626
4627     if test "$have_libvcdinfo" = "yes"
4628     then 
4629       VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
4630       VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
4631     else 
4632       AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
4633     fi
4634
4635     # now look for the wxprec.h header
4636     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
4637     ac_cv_wx_headers=yes
4638     AC_CHECK_HEADERS(wx/wxprec.h, , [
4639       ac_cv_wx_headers=no
4640       echo "Cannot find wxWidgets development headers."
4641     ])
4642     if test "${ac_cv_wx_headers}" = "yes"
4643     then
4644       VLC_ADD_PLUGINS([wxwidgets])
4645       ALIASES="${ALIASES} wxvlc"
4646     fi
4647     CPPFLAGS="${CPPFLAGS_save}"
4648     AC_LANG_POP(C++)
4649   fi
4650 fi
4651
4652 dnl
4653 dnl QT 4
4654 dnl
4655 enableqt4=false
4656 AC_ARG_ENABLE(qt4,
4657   [  --enable-qt4            QT 4 support (default disabled) ],
4658   [if test "${enable_qt4}" = "yes"; then
4659       PKG_CHECK_MODULES(QT4, QtCore QtGui,
4660         [ VLC_ADD_PLUGINS([qt4])
4661           ALIASES="${ALIASES} qvlc"
4662           enableqt4=true
4663           VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS])
4664           VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS])
4665           MOC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/moc
4666           RCC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/rcc
4667           UIC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/uic],
4668        [AC_MSG_WARN(QT4 library not found)])
4669    fi])
4670 AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
4671
4672 dnl
4673 dnl  WinCE GUI module
4674 dnl
4675 if test "${SYS}" = "mingwce"; then
4676   VLC_ADD_BUILTINS([wince])
4677   VLC_ADD_CXXFLAGS([wince],[])
4678   VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
4679   dnl Gross hack
4680   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4681 elif test "${SYS}" = "mingw32"; then
4682   VLC_ADD_CXXFLAGS([wince],[])
4683   VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
4684   dnl Gross hack
4685   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
4686 fi
4687
4688 dnl
4689 dnl Simple test for skins2 dependency
4690 dnl
4691 if test "${enable_skins2}" != "no"
4692 then
4693   if test "${WX_CONFIG}" = "no"
4694   then
4695     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.])
4696   fi
4697 fi
4698
4699 dnl dnl
4700 dnl dnl  Qt module
4701 dnl dnl
4702 dnl AC_ARG_ENABLE(qt,
4703 dnl   [  --enable-qt             Qt interface support (default disabled)],
4704 dnl   [if test "${enable_qt}" = "yes"; then
4705 dnl      VLC_ADD_PLUGINS([qt])
4706 dnl      ALIASES="${ALIASES} qvlc"
4707 dnl      VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
4708 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
4709 dnl      AC_CHECK_LIB(qt-mt,main,[
4710 dnl        VLC_ADD_LDFLAGS([qt],[-lqt-mt])
4711 dnl      ],[
4712 dnl        AC_CHECK_LIB(qt,main,[
4713 dnl          VLC_ADD_LDFLAGS([qt],[-lqt])
4714 dnl        ])
4715 dnl      ])
4716 dnl      LDFLAGS="${LDFLAGS_save}"
4717 dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
4718 dnl      if test -x ${QTDIR}/bin/moc
4719 dnl      then
4720 dnl        MOC=${QTDIR}/bin/moc
4721 dnl      else
4722 dnl        MOC=moc
4723 dnl      fi
4724 dnl    fi])
4725 dnl 
4726 dnl dnl
4727 dnl dnl  KDE module
4728 dnl dnl
4729 dnl AC_ARG_ENABLE(kde,
4730 dnl   [  --enable-kde            KDE interface support (default disabled)],
4731 dnl   [if test "${enable_kde}" = "yes"; then
4732 dnl      VLC_ADD_PLUGINS([kde])
4733 dnl      ALIASES="${ALIASES} kvlc"
4734 dnl      VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
4735 dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
4736 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4737 dnl      AC_CHECK_LIB(kfile,main,[
4738 dnl        VLC_ADD_LDFLAGS([kde],[-lkfile])
4739 dnl      ])
4740 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4741 dnl      AC_CHECK_LIB(kdeui,main,[
4742 dnl        VLC_ADD_LDFLAGS([kde],[-lkdeui])
4743 dnl      ])
4744 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
4745 dnl      AC_CHECK_LIB(kio,main,[
4746 dnl        VLC_ADD_LDFLAGS([kde],[-lkio])
4747 dnl      ])
4748 dnl      LDFLAGS="${LDFLAGS_save}"
4749 dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
4750 dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
4751 dnl      if test -x ${QTDIR}/bin/moc
4752 dnl      then
4753 dnl        MOC=${QTDIR}/bin/moc
4754 dnl      else
4755 dnl        MOC=moc
4756 dnl      fi
4757 dnl    fi])
4758
4759 dnl
4760 dnl  Opie QT embedded module
4761 dnl
4762 AC_ARG_ENABLE(opie,
4763   [  --enable-opie           Qt embedded interface support (default disabled)],
4764   [if test "${enable_opie}" = "yes"; then
4765      AC_ARG_WITH(qte,
4766      [    --with-qte=PATH       Qt Embedded headers and libraries])
4767      if test "${with_qte}" != "no" -a -n "${with_qte}"
4768      then
4769        VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
4770        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])
4771      else
4772        VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
4773        VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
4774      fi
4775      CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
4776      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
4777        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
4778      ] )
4779      CPPFLAGS="${CPPFLAGS_save}"
4780
4781      VLC_ADD_PLUGINS([opie])
4782      NEED_QTE_MAIN=yes
4783      VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
4784      VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
4785      if test "${with_qte}" != "no" -a -n "${with_qte}"
4786      then
4787        MOC=${with_qte}/bin/moc
4788      else
4789        MOC=${QTDIR}/bin/moc
4790      fi
4791    fi])
4792
4793 dnl
4794 dnl  MacOS X module
4795 dnl
4796 ORIGCFLAGS=$CFLAGS
4797 CFLAGS="$CFLAGS -x objective-c"
4798 AC_ARG_ENABLE(macosx,
4799   [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
4800   [if test "${enable_macosx}" = "yes"
4801    then
4802      VLC_ADD_BUILTINS([macosx])
4803      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL])
4804      VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
4805    fi],
4806   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
4807      VLC_ADD_BUILTINS([macosx])
4808      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL])
4809      VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
4810    )])
4811 CFLAGS=$ORIGCFLAGS
4812
4813 dnl
4814 dnl  QNX RTOS module
4815 dnl
4816 AC_ARG_ENABLE(qnx,
4817   [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
4818     if test "${enable_qnx}" != "no"
4819     then
4820       AC_CHECK_HEADERS(Ph.h, [
4821         VLC_ADD_PLUGINS([qnx])
4822         VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
4823       ])
4824     fi
4825
4826 dnl
4827 dnl  ncurses module
4828 dnl
4829 AC_ARG_ENABLE(ncurses,
4830   [  --enable-ncurses        ncurses interface support (default disabled)],
4831   [if test "${enable_ncurses}" = "yes"; then
4832      VLC_ADD_PLUGINS([ncurses])
4833      VLC_ADD_LDFLAGS([ncurses],[-lncurses])
4834    fi])
4835
4836 dnl
4837 dnl  XOSD plugin
4838 dnl
4839 AC_ARG_ENABLE(xosd,
4840   [  --enable-xosd           xosd interface support (default disabled)])
4841 if test "${enable_xosd}" = "yes"
4842 then
4843   AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4844   AC_CHECK_LIB(xosd,xosd_set_offset,
4845       AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4846     AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4847         AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4848       AC_TRY_COMPILE([#include <xosd.h>],
4849          [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4850           AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4851   if test "${have_xosd}" = "true"
4852   then
4853     VLC_ADD_PLUGINS([xosd])
4854     VLC_ADD_LDFLAGS([xosd],[-lxosd])
4855   fi
4856 fi
4857
4858 dnl
4859 dnl Visualisation plugin
4860 dnl
4861 AC_ARG_ENABLE(visual,
4862   [  --enable-visual         visualisation plugin (default enabled)])
4863 if test "${enable_visual}" != "no"
4864 then
4865     VLC_ADD_PLUGINS([visual])
4866 fi
4867
4868 dnl
4869 dnl OpenGL visualisation plugin
4870 dnl
4871 AC_ARG_ENABLE(galaktos,
4872   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
4873 if test "${enable_galaktos}" = "yes"
4874 then
4875   AC_CHECK_HEADERS(GL/gl.h GL/glu.h, [
4876     VLC_ADD_PLUGINS([galaktos])
4877     if test "${SYS}" != "mingw32"; then
4878       VLC_ADD_LDFLAGS([galaktos],[${X_LIBS} -lGL -lGLU])
4879     else
4880       VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4881     fi
4882   ])
4883 fi
4884
4885 dnl
4886 dnl  goom visualization plugin
4887 dnl
4888 AC_ARG_ENABLE(goom,
4889 [  --enable-goom           goom visualisation plugin (default disabled)])
4890 if test "${enable_goom}" = "yes"
4891 then
4892   AC_ARG_WITH(goom-tree,
4893     [    --with-goom-tree=PATH goom tree for static linking (required)])
4894
4895   dnl
4896   dnl test for --with-goom-tree
4897   dnl
4898   if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4899     AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4900     real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4901     if test -z "${real_goom_tree}"; then
4902       dnl  The given directory can't be found
4903       AC_MSG_RESULT(no)
4904       AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4905     fi
4906     if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4907       AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4908       VLC_ADD_BUILTINS([goom])
4909       VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4910       VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4911     else
4912       dnl  The given libgoom2 wasn't built, try to look for the old goom
4913       AC_MSG_RESULT(no)
4914       AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4915       if test -f "${real_goom_tree}/libgoom.a"; then
4916         AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4917         VLC_ADD_BUILTINS([goom])
4918         VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4919         VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4920       else
4921         dnl  The given libgoom wasn't built
4922         AC_MSG_RESULT(no)
4923         AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4924       fi
4925     fi
4926   else
4927     AC_CHECK_HEADERS(goom/goom.h, [
4928       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4929       AC_CHECK_LIB(goom2, goom_init, [
4930         VLC_ADD_PLUGINS([goom])
4931         VLC_ADD_LDFLAGS([goom],[-lgoom2])
4932       ],[
4933         AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4934       ])
4935       LDFLAGS="${LDFLAGS_save}"
4936     ])
4937   fi
4938 fi
4939
4940 dnl
4941 dnl DAAP access plugin and services discovery 
4942 dnl
4943 AC_ARG_ENABLE(daap,
4944   [  --enable-daap                DAAP shares services discovery support (default enabled)])
4945 if test "$enable_daap" != "no"
4946 then
4947    PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4948       [ VLC_ADD_PLUGINS([daap])
4949        VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4950        VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4951       [AC_MSG_WARN(DAAP library not found)])
4952 fi
4953
4954 dnl
4955 dnl  Bonjour services discovery
4956 dnl
4957 AC_ARG_ENABLE(bonjour,
4958   [  --enable-bonjour        Bonjour services discovery (default enabled)])
4959 if test "${enable_bonjour}" != "no"
4960 then
4961   PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
4962     [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6,
4963        [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],)
4964       AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
4965       VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
4966       VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
4967       VLC_ADD_PLUGINS([bonjour]) ],
4968     [AC_MSG_WARN(avahi-client library not found)])
4969 fi
4970
4971 dnl
4972 dnl  Lirc plugin
4973 dnl
4974 AC_ARG_ENABLE(lirc,
4975   [  --enable-lirc           lirc support (default disabled)])
4976 if test "${enable_lirc}" = "yes"
4977 then
4978   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4979   if test "${have_lirc}" = "true"
4980   then
4981     VLC_ADD_PLUGINS([lirc])
4982     VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4983   fi
4984 fi
4985
4986
4987 dnl
4988 dnl corba (ORBit) plugin
4989 dnl
4990 dnl Default: do not enable corba
4991 enablecorba=false
4992 AC_ARG_ENABLE(corba,
4993   [  --enable-corba          corba interface support (default disabled)])
4994 if test "${enable_corba}" = "yes"; then
4995       GLIB_VERSION=2.3.2
4996       PKG_CHECK_MODULES(CORBA, 
4997         ORBit-2.0 >= 2.8.0 \
4998         glib-2.0 >= $GLIB_VERSION \
4999         gobject-2.0 >= $GLIB_VERSION \
5000         gthread-2.0 >= $GLIB_VERSION,
5001         [
5002           enablecorba=true
5003           VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
5004           VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
5005           VLC_ADD_PLUGINS([corba snapshot]) ],
5006         [ enablecorba=false
5007           AC_MSG_WARN(corba library not found) ])
5008 fi
5009 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
5010
5011 AC_ARG_WITH(,[Misc options:])
5012
5013 dnl
5014 dnl TLS/SSL
5015 dnl
5016 AC_ARG_ENABLE(gnutls,
5017   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
5018
5019 AS_IF([test "${enable_gnutls}" != "no"], [
5020   gcrypt_LIBS="-lgpg-error"
5021   AS_IF([test "${SYS}" = "mingw32"], [
5022     gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
5023     VLC_ADD_LDFLAGS([gnutls],[-lws2_32])
5024   ])
5025
5026   gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
5027   AS_IF([test "${SYS}" = "darwin"], [
5028     gnutls_LIBS="-lintl ${gnutls_LIBS}"
5029     VLC_ADD_LDFLAGS([gnutls],[-lintl])
5030   ])
5031
5032   AC_CHECK_HEADER(gcrypt.h, [
5033     AC_CHECK_LIB(gcrypt, gcry_control, [
5034       AC_CHECK_HEADER(gnutls/gnutls.h, [
5035         AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
5036           [have_gnutls="yes"],[old_gnutls="yes"],[${gnutls_LIBS}])
5037       ])
5038     ],,[${gcrypt_LIBS}])
5039   ])
5040
5041   AS_IF([test "${have_gnutls}" = "yes"], [
5042     VLC_ADD_PLUGINS([gnutls])
5043     VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
5044   ], [
5045     AS_IF([test "${enable_gnutls}" = "yes"], [
5046       AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])
5047     ])
5048   ])
5049 ])
5050
5051
5052 dnl
5053 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
5054 dnl
5055 dnl  We give the user the opportunity to specify
5056 dnl  --with-words=big or --with-words=little ; otherwise, try to guess
5057 dnl
5058 AC_ARG_WITH(words,
5059   [    --with-words=endianness set endianness (big or little)])
5060   case "${with_words}" in
5061     big)
5062       ac_cv_c_bigendian=yes
5063       ;;
5064     little)
5065       ac_cv_c_bigendian=no
5066       ;;
5067     *)
5068       dnl  Try to guess endianness by matching patterns on a compiled
5069       dnl  binary, by looking for an ASCII or EBCDIC string
5070       AC_CACHE_CHECK([whether the byte order is big-endian],
5071         [ac_cv_c_bigendian],
5072         [ac_cv_c_bigendian="unknown"
5073         [cat >conftest.c <<EOF
5074         short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
5075         short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
5076         void _a(void) { char*s = (char*)am; s = (char *)ai; }
5077         short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
5078         short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
5079         void _e(void) { char*s = (char*)em; s = (char*)ei; }
5080         int main(void) { _a(); _e(); return 0; }
5081 EOF
5082         ]
5083         if test -f conftest.c
5084         then
5085           if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
5086               && test -f conftest.o
5087           then
5088             if test "`strings conftest.o | grep BIGenDianSyS`"
5089             then
5090               ac_cv_c_bigendian="yes"
5091             fi
5092             if test "`strings conftest.o | grep LiTTleEnDian`"
5093             then
5094               ac_cv_c_bigendian="no"
5095             fi
5096           fi
5097         fi
5098       ])
5099       if test "${ac_cv_c_bigendian}" = "unknown"
5100       then
5101         AC_MSG_ERROR([Could not guess endianness, please use --with-words])
5102       fi
5103       ;;
5104   esac
5105 dnl  Now we know what to use for endianness, just put it in the header
5106 if test "${ac_cv_c_bigendian}" = "yes"
5107 then
5108   AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
5109 fi
5110
5111 dnl
5112 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
5113 dnl
5114 loader=false
5115 AC_ARG_ENABLE(loader,
5116   [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
5117 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
5118 AS_IF([test "${enable_loader}" = "yes"],
5119   [ VLC_ADD_PLUGINS([dmo quicktime])
5120     VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
5121     VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la])
5122     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
5123     VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.la])
5124     VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER])
5125     VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.la])
5126   ])
5127
5128 dnl
5129 dnl  Microsoft ActiveX support
5130 dnl
5131 activex=false
5132 AC_ARG_ENABLE(activex,
5133   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
5134 if test "${enable_activex}" != "no"
5135 then
5136   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5137   then
5138     AC_CHECK_PROGS(MIDL, [midl widl], no)
5139     AC_LANG_PUSH(C++)
5140     AC_CHECK_HEADERS(ole2.h olectl.h,
5141       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
5142         VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
5143         AC_CHECK_HEADERS(objsafe.h,
5144           VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),,
5145           [#if HAVE_OLE2_H
5146            #   include <ole2.h>
5147            #endif]
5148         )
5149         activex=:
5150       ],
5151       [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
5152     )
5153     AC_LANG_POP(C++)
5154   fi
5155 fi
5156 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
5157 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
5158 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
5159
5160 dnl
5161 dnl  Mozilla plugin
5162 dnl
5163 mozilla=false
5164 AC_ARG_ENABLE(mozilla,
5165   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
5166 AC_ARG_WITH(mozilla-sdk-path,
5167   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
5168
5169 if test "${enable_mozilla}" = "yes" 
5170 then
5171   dnl currently vlc plugin only needs headers, no xpcom support apis are actually used
5172   need_xpcom_libs=false
5173   if test "${with_mozilla_sdk_path}" = ""
5174   then
5175     AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
5176     if test "${MOZILLA_CONFIG}" = "no"
5177     then
5178       AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
5179       if test "${XULRUNNER_CONFIG}" = "no"
5180       then
5181         AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
5182       else
5183         have_xul=true
5184         MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
5185       fi
5186     fi
5187     
5188     if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then
5189       LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}"
5190       AC_CHECK_LIB(Xt,XtStrings,
5191        [
5192          VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}])
5193          VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE])
5194 ],
5195        [],
5196        [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE]
5197       ])
5198       LDFLAGS="${LDFLAGS_save}"
5199     fi
5200     
5201       mozilla=:
5202       dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
5203       VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
5204       if ${need_xpcom_libs}; then
5205          VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
5206       else
5207          VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`])
5208       fi
5209       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
5210       AC_CHECK_HEADERS(mozilla-config.h)
5211       CPPFLAGS="${CPPFLAGS_save}"
5212       MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`"
5213       XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
5214       `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
5215       if ${have_xul}
5216       then
5217         xpidl_path="`${MOZILLA_CONFIG} --prefix`/lib/xulrunner"
5218       else
5219         xpidl_path="`${MOZILLA_CONFIG} --prefix`/bin"
5220       fi        
5221     dnl End of moz_sdk = ""
5222   else
5223     dnl special case for mingw32
5224     if test "${SYS}" = "mingw32"
5225     then
5226       AC_CHECK_TOOL(CYGPATH, cygpath, "")
5227       dnl latest gecko sdk does not have an xpcom directory
5228       if test -d "${with_mozilla_sdk_path}/xpcom"; then
5229           mozilla_sdk_xpcom="/xpcom"
5230       fi
5231     fi
5232   
5233     real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
5234     CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
5235     AC_CHECK_HEADERS(mozilla-config.h, [
5236       mozilla=:
5237       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])
5238       if ${need_xpcom_libs}; then
5239          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])
5240          if test "${SYS}" = "mingw32"; then
5241            dnl latest gecko sdk does not have embedstring
5242            if test -d "${real_mozilla_sdk}/embedstring/bin"
5243            then
5244              VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
5245            fi
5246          fi
5247       fi
5248   
5249       MOZILLA_SDK_PATH="${real_mozilla_sdk}"
5250       XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
5251       xpidl_path="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin"
5252   
5253       if test -n "${CYGPATH}"; then
5254         real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
5255         XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
5256       fi ])
5257     CPPFLAGS="${CPPFLAGS_save}"
5258   fi
5259   
5260   if test "${enable_mozilla}" != "false"
5261   then
5262     AC_PATH_PROG(XPIDL, xpidl, no, ${xpidl_path}:/usr/lib/mozilla:/usr/lib64/mozilla:/usr/lib/xulrunner:/usr/lib64/xulrunner)
5263     if test "${XPIDL}" = "no"; then
5264       AC_MSG_ERROR([Please install the Mozilla development tools, xpidl was not found.])
5265     fi
5266   fi 
5267 fi
5268 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
5269
5270 dnl
5271 dnl  Mediacontrol Python bindings
5272 dnl
5273 AC_ARG_ENABLE(mediacontrol-python-bindings,
5274   [  --enable-mediacontrol-python-bindings    Enable Python bindings for MediaControl (default disabled)])
5275 dnl TODO: look for python dev headers
5276 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_mediacontrol_python_bindings}" = "yes"])
5277
5278 dnl
5279 dnl  Java bindings
5280 dnl
5281 AC_ARG_ENABLE(java-bindings,
5282   [  --enable-java-bindings  Enable Java bindings (default disabled)])
5283 if test "${enable_java_bindings}" = "yes"
5284 then
5285   AS_IF([test "x${JAVA_HOME}" == "x"],
5286         [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])])
5287   AC_PROG_JAVAC
5288   AC_PROG_JAVA
5289 fi
5290 AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"])
5291
5292 dnl
5293 dnl  test plugins
5294 dnl
5295 AC_ARG_ENABLE(testsuite,
5296   [  --enable-testsuite      build test modules (default disabled)])
5297 if test "${enable_testsuite}" = "yes"
5298 then
5299   TESTS="test1 test2 test3 test4"
5300
5301   dnl  we define those so that bootstrap sets the right linker
5302   VLC_ADD_CXXFLAGS([test2],[])
5303   VLC_ADD_OBJCFLAGS([test3],[])
5304   dnl  this one is needed until automake knows what to do
5305   VLC_ADD_LDFLAGS([test3],[-lobjc])
5306
5307   VLC_ADD_PLUGINS([${TESTS}])
5308   #VLC_ADD_BUILTINS([${TESTS}])
5309 fi
5310
5311 dnl
5312 dnl Microsoft Layer for Unicode for WIN9x/ME
5313 dnl
5314 if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
5315 then
5316     AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [
5317         VLC_ADD_LDFLAGS([vlc],[-Wl,--exclude-libs,libunicows.a -lunicows])
5318     ])
5319 fi
5320
5321 dnl
5322 dnl  gtk_main plugin
5323 dnl
5324 if test "${NEED_GTK_MAIN}" != "no"
5325 then
5326     VLC_ADD_PLUGINS([gtk_main])
5327     VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
5328     VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
5329 fi
5330
5331 if test "${NEED_GNOME_MAIN}" != "no"
5332 then
5333     VLC_ADD_PLUGINS([gnome_main])
5334     VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
5335     VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
5336 fi
5337
5338 if test "${NEED_GTK2_MAIN}" != "no"
5339 then
5340     VLC_ADD_PLUGINS([gtk2_main])
5341     VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
5342     VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
5343     VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
5344     VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
5345 fi
5346
5347 if test "${NEED_GNOME2_MAIN}" != "no"
5348 then
5349     VLC_ADD_PLUGINS([gnome2_main])
5350     VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
5351     VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
5352 fi
5353
5354 dnl
5355 dnl  qte_main plugin
5356 dnl
5357 if test "${NEED_QTE_MAIN}" != "no"
5358 then
5359     VLC_ADD_PLUGINS([qte_main])
5360     VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
5361     VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
5362     VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
5363 fi
5364
5365
5366 dnl
5367 dnl  Plugin and builtin checks
5368 dnl
5369 builtin_support=false
5370 plugin_support=:
5371
5372 dnl Support for plugins - this must be AT THE END
5373 AC_ARG_ENABLE(plugins,
5374   [  --disable-plugins       make all plugins built-in (default plugins enabled)],
5375   [if test "${enable_plugins}" = "no"
5376    then
5377      plugin_support=false
5378    fi])
5379
5380 dnl Automagically disable plugins if there is no system support for
5381 dnl dynamically loadable files (.so, .dll, .dylib).
5382 dnl don't forget vlc-win32 still can load .dll as plugins
5383 if test "${ac_cv_have_plugins}" = "no"
5384 then
5385   echo "*** Your system doesn't have plugin support. All plugins will be built"
5386   echo "statically."
5387   plugin_support=false
5388 fi
5389
5390 dnl Export automake variables
5391 if ${plugin_support}
5392 then
5393   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
5394   for plugin in `echo ${PLUGINS}`
5395   do
5396     eval "${plugin}_p=yes"
5397   done
5398 else
5399   VLC_ADD_BUILTINS([${PLUGINS}])
5400   PLUGINS=""
5401 fi
5402 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
5403
5404 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
5405 then
5406   builtin_support=:
5407   for builtin in `echo ${BUILTINS}`
5408   do
5409     eval "${builtin}_b=yes"
5410   done
5411 fi]
5412 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
5413
5414 dnl
5415 dnl Pic and shared libvlc stuff
5416 dnl
5417 AS_IF([test "x${enable_shared_libvlc}" = "x"], [enable_shared_libvlc=no])
5418 AM_CONDITIONAL(BUILD_SHARED, [test "${enable_shared_libvlc}" != "no"])
5419 AS_IF([test "${enable_shared_libvlc}" != "no" || test "${enable_libtool}" != "no"], [
5420   AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
5421   FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"],
5422   FILE_LIBVLC_DLL="" )
5423 dnl
5424 dnl we need pic on amd64 fo the mozilla plugin
5425
5426 case "${target_cpu}" in
5427      x86_64)
5428         pic=pic
5429         ;;
5430      *)
5431         pic=""
5432         ;;
5433 esac
5434 AC_SUBST(pic)
5435
5436
5437 dnl Import conditional variables generated by bootstrap
5438 VLC_CONDITIONALS
5439
5440 dnl
5441 dnl  Stuff used by the program
5442 dnl
5443 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
5444 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2006 the VideoLAN team", [Copyright string])
5445 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
5446 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
5447 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
5448 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
5449 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
5450 AC_SUBST(VERSION_MAJOR)
5451 AC_SUBST(VERSION_MINOR)
5452 AC_SUBST(VERSION_REVISION)
5453 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
5454 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) 
5455 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
5456 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
5457
5458 dnl Old definitions for version-dependant plugins
5459 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
5460 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
5461 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
5462
5463 dnl New definitions with value matching 0.8.6 release
5464 module_symbol="0_8_6a"
5465 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
5466 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
5467 VLC_ENTRY="vlc_entry__${module_symbol}"
5468 AC_SUBST(VLC_ENTRY)
5469
5470 dnl
5471 dnl  Handle substvars that use $(top_srcdir)
5472 dnl
5473 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
5474 AC_SUBST(VLC_CONFIG)
5475 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
5476
5477 dnl
5478 dnl  Restore *FLAGS
5479 dnl
5480 VLC_RESTORE_FLAGS
5481
5482 dnl
5483 dnl  Create the vlc-config script
5484 dnl
5485 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
5486 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
5487
5488 dnl
5489 dnl  Configuration is finished
5490 dnl
5491 AC_SUBST(SYS)
5492 AC_SUBST(ARCH)
5493 AC_SUBST(ALIASES)
5494 AC_SUBST(ASM)
5495 AC_SUBST(MOC)
5496 AC_SUBST(RCC)
5497 AC_SUBST(UIC)
5498 AC_SUBST(WINDRES)
5499 AC_SUBST(MOZILLA_SDK_PATH)
5500 AC_SUBST(XPIDL)
5501 AC_SUBST(XPIDL_INCL)
5502 AC_SUBST(LIBEXT)
5503 AC_SUBST(AM_CPPFLAGS)
5504 AC_SUBST(ALL_LINGUAS)
5505 AC_SUBST(MACOSX_DEPLOYMENT_TARGET)
5506 AC_SUBST(FILE_LIBVLC_DLL)
5507
5508 dnl Import substitutions generated by bootstrap
5509 VLC_SUBSTS
5510
5511 dnl Create vlc-config.in
5512 VLC_OUTPUT_VLC_CONFIG_IN
5513
5514 AC_CONFIG_FILES([
5515   vlc.win32.nsi
5516   Makefile
5517   activex/Makefile
5518   activex/axvlc.inf
5519   bindings/Makefile
5520   bindings/java/Makefile
5521   bindings/java/src/Makefile
5522   bindings/mediacontrol-python/Makefile
5523   doc/Makefile
5524   intl/Makefile
5525   ipkg/Makefile
5526   loader/Makefile
5527   modules/Makefile
5528   mozilla/Makefile
5529   m4/Makefile
5530   po/Makefile.in
5531   share/Makefile
5532   src/Makefile
5533 ])
5534
5535 AC_CONFIG_FILES([
5536   modules/access/Makefile
5537   modules/access/dshow/Makefile
5538   modules/access/dvb/Makefile
5539   modules/access/mms/Makefile
5540   modules/access/cdda/Makefile
5541   modules/access/rtsp/Makefile
5542   modules/access/vcd/Makefile
5543   modules/access/vcdx/Makefile
5544   modules/access/screen/Makefile
5545   modules/access_filter/Makefile
5546   modules/access_output/Makefile
5547   modules/audio_filter/Makefile
5548   modules/audio_filter/channel_mixer/Makefile
5549   modules/audio_filter/converter/Makefile
5550   modules/audio_filter/resampler/Makefile
5551   modules/audio_mixer/Makefile
5552   modules/audio_output/Makefile
5553   modules/codec/Makefile
5554   modules/codec/cmml/Makefile
5555   modules/codec/dmo/Makefile
5556   modules/codec/ffmpeg/Makefile
5557   modules/codec/spudec/Makefile
5558   modules/control/Makefile
5559   modules/control/http/Makefile
5560   modules/control/corba/Makefile
5561   modules/demux/Makefile
5562   modules/demux/asf/Makefile
5563   modules/demux/avi/Makefile
5564   modules/demux/mp4/Makefile
5565   modules/demux/mpeg/Makefile
5566   modules/demux/playlist/Makefile
5567   modules/demux/util/Makefile
5568   modules/gui/Makefile
5569   modules/gui/beos/Makefile
5570   modules/gui/pda/Makefile
5571   modules/gui/macosx/Makefile
5572   modules/gui/qnx/Makefile
5573   modules/gui/qt4/Makefile
5574   modules/gui/skins2/Makefile
5575   modules/gui/wxwidgets/Makefile
5576   modules/gui/wince/Makefile
5577   modules/misc/Makefile
5578   modules/misc/dummy/Makefile
5579   modules/misc/memcpy/Makefile
5580   modules/misc/network/Makefile
5581   modules/misc/testsuite/Makefile
5582   modules/misc/playlist/Makefile
5583   modules/misc/xml/Makefile
5584   modules/misc/probe/Makefile
5585   modules/mux/Makefile
5586   modules/mux/mpeg/Makefile
5587   modules/mux/rtp/Makefile
5588   modules/packetizer/Makefile
5589   modules/services_discovery/Makefile
5590   modules/stream_out/Makefile
5591   modules/stream_out/transrate/Makefile
5592   modules/video_chroma/Makefile
5593   modules/video_filter/Makefile
5594   modules/video_filter/swscale/Makefile
5595   modules/video_output/Makefile
5596   modules/video_output/directx/Makefile
5597   modules/video_output/qte/Makefile
5598   modules/video_output/x11/Makefile
5599   modules/visualization/Makefile
5600   modules/visualization/visual/Makefile
5601   modules/visualization/galaktos/Makefile
5602 ])
5603
5604 dnl Generate makefiles
5605 AC_OUTPUT
5606
5607 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
5608 # not provided with the source
5609 ${SHELL} ./config.status --file=vlc-config
5610 chmod 0755 vlc-config
5611
5612 dnl echo "Enabled builtin modules :"
5613 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
5614
5615 dnl echo "Enabled plugin modules :"
5616 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
5617
5618 dnl Shortcut to nice compile message
5619 rm -f compile
5620 echo '#! /bin/sh' >compile
5621
5622 echo "PATH=$PATH LANG=C make \$* 2>&1| \\" >> compile
5623 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile
5624 chmod a+x compile
5625
5626 printf "
5627 vlc configuration
5628 --------------------
5629 vlc version           : ${VERSION}
5630 system                : ${SYS}
5631 architecture          : ${ARCH}
5632 build flavour         : "
5633 test "${enable_debug}" = "yes" && printf "debug "
5634 test "${enable_cprof}" = "yes" && printf "cprof "
5635 test "${enable_gprof}" = "yes" && printf "gprof "
5636 test "${enable_optimizations}" = "yes" && printf "optim "
5637 test "${enable_release}" = "yes" && printf "release " || printf "devel "
5638 echo "
5639 vlc aliases           :${ALIASES}
5640
5641 You can tune the compiler flags in vlc-config.
5642 To build vlc and its plugins, type \`./compile' or \`make'.
5643 "
5644