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