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