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