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