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