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