]> git.sesse.net Git - vlc/blob - configure.ac
* configure.ac: another wince build fix.
[vlc] / configure.ac
1 dnl Autoconf settings for vlc
2 dnl $Id$
3  
4 AC_INIT(vlc,0.8.2-svn)
5
6 CONFIGURE_LINE="$0 $*"
7 CODENAME="Janus"
8
9 AC_PREREQ(2.50)
10 AC_CONFIG_SRCDIR(src/libvlc.c)
11 AC_CONFIG_AUX_DIR(autotools)
12 AC_CANONICAL_SYSTEM
13
14 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
15 dnl them. And we need the comma otherwize automake will choke on it.
16 AM_INIT_AUTOMAKE(vlc,0.8.2-svn)
17 AM_CONFIG_HEADER(config.h)
18
19 dnl
20 dnl  Save *FLAGS
21 dnl
22 VLC_SAVE_FLAGS
23
24 dnl
25 dnl Check for tools
26 dnl
27 AC_PROG_CC
28 AM_PROG_CC_C_O
29 AC_PROG_CPP
30 AC_PROG_CXX
31 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
32 if test "${CXX}" != ""; then
33   AC_PROG_CXXCPP
34 fi
35 AC_PROG_MAKE_SET
36 AC_PROG_INSTALL
37
38 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
39 dnl now otherwise it might be set in an obscure if statement.
40 AC_EGREP_CPP(foo,foo)
41
42 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
43 AC_MSG_CHECKING(for an Objective-C compiler)
44 OBJC="${CXX}"
45 AC_SUBST(OBJC)
46 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
47 AC_SUBST(OBJCFLAGS)
48 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
49 #OBJCDEPMODE="depmode=gcc3"
50 #AC_SUBST(OBJCDEPMODE)
51 _AM_DEPENDENCIES(OBJC)
52 AC_MSG_RESULT(not implemented yet)
53
54 dnl Find the right ranlib, even when cross-compiling
55 AC_CHECK_TOOL(RANLIB, ranlib, :)
56 AC_CHECK_TOOL(STRIP, strip, :)
57 AC_CHECK_TOOL(AR, ar, :)
58 AC_CHECK_TOOL(LD, ld, :)
59
60 dnl Sam, if you think I didn't see that... --Meuuh
61 dnl AM_PROG_LIBTOOL
62 AC_PROG_INSTALL
63
64 dnl Check for compiler properties
65 AC_C_CONST
66 AC_C_INLINE
67
68 dnl
69 dnl  Check for the contrib directory
70 dnl
71 topdir="`pwd`"
72 if test -d ${topdir}/extras/contrib/lib; then
73   export PATH=${topdir}/extras/contrib/bin:$PATH
74   CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
75   CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
76   CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
77   CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
78   CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
79   CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
80   OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
81   OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
82   if test -d ${topdir}/extras/contrib/vlc-lib; then
83     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
84     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
85   fi
86   LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
87   LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
88   with_livedotcom_tree=${topdir}/extras/contrib/src/live
89   with_goom_tree=${topdir}/extras/contrib/src/goom
90   if test ".`uname -s`" = ".Darwin"; then
91     export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
92     export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
93   elif test ".`uname -s`" = ".BeOS"; then
94     export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
95     export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
96   fi
97 fi
98
99 dnl
100 dnl  Set default values
101 dnl
102 LDFLAGS_vlc="${LDFLAGS}"
103
104 dnl
105 dnl  Check the operating system
106 dnl
107 case "${target_os}" in
108   "")
109     SYS=unknown
110     ;;
111   linux*)
112     SYS=linux
113     ;;
114   bsdi*)
115     SYS=bsdi
116     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
117     VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
118     ;;
119   *bsd*)
120     SYS="${target_os}"
121     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
122     ;;
123   darwin*)
124     SYS=darwin
125     CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
126     CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
127     OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
128     VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
129     VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
130     VLC_ADD_CFLAGS([libvlc],[-x objective-c])
131     VLC_ADD_CFLAGS([vlc],[-x objective-c])
132     VLC_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress])
133     ;;
134   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
135     AC_CHECK_TOOL(WINDRES, windres, :)
136
137     case "${target_os}" in
138       *mingw32*)
139         SYS=mingw32
140         ;;
141       *cygwin*)
142         dnl Check if we are using the mno-cygwin mode in which case we are
143         dnl actually dealing with a mingw32 compiler.
144         AC_EGREP_CPP(yes,
145             [#ifdef WIN32
146              yes
147              #endif],
148             SYS=mingw32, SYS=cygwin)
149         ;;
150       *wince* | *mingwce* | *pe*)
151         SYS=mingwce
152         ;;
153     esac
154
155     if test "${SYS}" = "mingw32"; then
156         # add ws2_32 for closesocket, select, recv
157         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
158         VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
159         VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
160         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard telnet netsync],[-lws2_32])
161     fi
162     if test "${SYS}" = "mingwce"; then
163         # add ws2 for closesocket, select, recv
164         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
165         VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
166         VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
167         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
168     fi
169     ;;
170   *nto*)
171     SYS=nto
172     VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
173     ;;
174   solaris*)
175     SYS=solaris
176     # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
177     # Perhaps it is useful other places as well? 
178     CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
179     ;;
180   hpux*)
181     SYS=hpux
182     ;;
183   beos)
184     SYS=beos
185     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
186     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
187     VLC_ADD_CXXFLAGS([beos],[])
188     VLC_ADD_LDFLAGS([vlc beos],[-lbe])
189     VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
190     VLC_ADD_LDFLAGS([access_file access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
191
192     dnl Ugly check for Zeta
193     if test -f /boot/beos/system/lib/libzeta.so; then
194         VLC_ADD_LDFLAGS([beos],[-lzeta])
195     fi
196     ;;
197   *)
198     SYS="${target_os}"
199     ;;
200 esac
201 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
202 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
203 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
204 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
205
206 dnl
207 dnl Gettext stuff
208 dnl
209 ALL_LINGUAS="bn da de el en_GB es fr hi hu it ja my nl no pl ps pt_BR ru sv tet tl"
210 AM_GNU_GETTEXT_VERSION(0.11.5)
211 AM_GNU_GETTEXT
212 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
213   AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
214   INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
215 else
216   AC_CHECK_FUNCS(textdomain,,[
217     AC_CHECK_LIB(intl,textdomain,
218       VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
219       ${LIBINTL}
220     )
221   ])
222 fi
223 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
224 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
225
226 AC_ARG_ENABLE(utf8,
227   [  --enable-utf8           unicode utf8 support (default enabled on darwin/beos/win32)])
228 if test "${enable_utf8}" = "yes" || (test "${enable_utf8}" != "no" && (test "${SYS}" = "mingw32" || test "${SYS}" = "beos" || test "${SYS}" = "darwin" ) )
229 then
230   AC_DEFINE(ENABLE_UTF8, 1,
231             Define if you want utf8 support)
232 fi
233
234 dnl
235 dnl Iconv stuff
236 dnl
237 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
238 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
239
240 dnl Check for the need to include the mingwex lib for mingw32
241 if test "${SYS}" = "mingw32"
242 then
243     AC_CHECK_LIB(mingwex,opendir,
244         AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
245             [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
246     )
247 fi
248
249 dnl Check for fnative-struct or mms-bitfields support for mingw32
250 if test "${SYS}" = "mingw32"
251 then
252     AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
253         [ac_cv_c_mms_bitfields],
254         [CFLAGS="${CFLAGS_save} -mms-bitfields"
255          AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
256     if test "${ac_cv_c_mms_bitfields}" != "no"; then
257         CFLAGS_save="${CFLAGS_save} -mms-bitfields";
258         CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
259     else
260         AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
261             [ac_cv_c_fnative_struct],
262             [CFLAGS="${CFLAGS_save} -fnative-struct"
263              AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
264         if test "${ac_cv_c_fnative_struct}" != "no"; then
265             CFLAGS_save="${CFLAGS_save} -fnative-struct";
266             CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
267         fi
268     fi
269
270     CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
271 fi
272
273 dnl Check for fvtable-thunks support for mingw32
274 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
275 then
276 AC_LANG_PUSH(C++)
277     AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
278         [ac_cv_cxx_fvtable_thunks],
279         [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
280          AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
281                         ac_cv_cxx_fvtable_thunks=no)])
282     if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
283         CXXFLAGS_mingw32_special="-fvtable-thunks"
284     fi
285
286     CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
287 AC_LANG_POP(C++)
288 fi
289
290 dnl Plugin compilation stuff
291
292 VLC_LIBRARY_SUFFIX
293
294 case "${SYS}" in
295   mingw32|cygwin)
296     VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
297     VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
298     VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
299     ;;
300   mingwce)
301     ;;
302   *)
303     VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
304     VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
305     VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
306     VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
307     ;;
308 esac
309
310 dnl The -DSYS_FOO flag
311 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
312
313 dnl Check for system libs needed
314 need_libc=false
315
316 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon)
317
318 dnl Check for usual libc functions
319 AC_CHECK_FUNCS(strdup strndup atof)
320 AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
321 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
322 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
323
324 dnl Check for setlocal and langinfo
325 AC_CHECK_FUNCS(setlocale)
326 AC_CHECK_HEADERS(langinfo.h)
327 AC_CHECK_FUNCS(nl_langinfo)
328
329 AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
330   [AC_TRY_LINK([#include <langinfo.h>],
331     [char* cs = nl_langinfo(CODESET);],
332     ac_cv_langinfo_codeset=yes,
333     ac_cv_langinfo_codeset=no)
334   ])
335 if test ${ac_cv_langinfo_codeset} = yes; then
336   AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
337     [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
338 fi
339
340 AC_CHECK_FUNCS(connect,,[
341   AC_CHECK_LIB(socket,connect,[
342     VLC_ADD_LDFLAGS([vlc ipv4 cddax],-lsocket)
343   ])
344 ])
345
346 AC_CHECK_FUNCS(send,,[
347   AC_CHECK_LIB(socket,send,[
348     VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard],[-lsocket])
349   ])
350 ])
351
352 AC_CHECK_FUNCS(gethostbyname,,[
353   AC_CHECK_LIB(nsl,gethostbyname,[
354     VLC_ADD_LDFLAGS([cddax ipv4 vlc],[-lnsl])
355   ],[
356     AC_CHECK_LIB(bind,gethostbyname,[
357       VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind])
358     ])
359   ])
360 ])
361
362 dnl Check for socklen_t
363 AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
364   [AC_TRY_COMPILE(
365      [#include <sys/types.h>
366       #include <sys/socket.h>],
367      [socklen_t len = 42; return len;],
368      ac_cv_type_socklen_t=yes,
369      ac_cv_type_socklen_t=no)])
370 if test "${ac_cv_type_socklen_t}" != "no"; then
371   AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
372 fi
373
374 dnl Check for struct sockaddr_storage
375 AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
376 AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
377 AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
378   [AC_TRY_COMPILE(
379     [#include <sys/types.h>
380      #if defined( UNDER_CE )
381      # include <winsock.h>
382      #elif defined( WIN32 )
383      # include <winsock2.h>
384      #else
385      # include <sys/socket.h>
386      #endif], [struct sockaddr_storage addr;],
387      ac_cv_struct_sockaddr_storage=yes,
388      ac_cv_struct_sockaddr_storage=no)])
389 if test $ac_cv_struct_sockaddr_storage = no; then
390   AC_DEFINE(sockaddr_storage, sockaddr)
391   AC_DEFINE(ss_family, sa_family)
392 fi
393
394 dnl getnameinfo, which implies {get,free}addrinfo, but not gai_strerror,
395 dnl -lws2_32 required with Mingw32, -lresolv NOT needed on Solaris.
396 dnl AC_SEARCH_LIBS won't work with Mingw32
397 AH_TEMPLATE(HAVE_GETNAMEINFO,
398   [Define to 1 if you have the `getnameinfo' function.])
399 ac_func_getnameinfo_save_LIBS=$LIBS
400 AS_IF([test "${SYS}" = "mingw32"],
401   [LIBS="-lws2_32 $LIBS"])
402   AC_CACHE_CHECK([for getnameinfo], ac_cv_func_getnameinfo,
403 [AC_LINK_IFELSE([AC_LANG_PROGRAM([
404 [#include <sys/types.h>
405 #if defined( UNDER_CE )
406 # include <winsock.h>
407 #elif defined( WIN32 )
408 # include <winsock2.h>
409 #else
410 # include <sys/socket.h>
411 # include <netdb.h>
412 #endif]
413 ], [[getnameinfo(0,0,0,0,0,0,0);]])],
414 ac_cv_func_getnameinfo=yes,
415 ac_cv_func_getnameinfo=no)])
416 AS_IF([test $ac_cv_func_getnameinfo = yes],
417   [AC_DEFINE(HAVE_GETNAMEINFO)])
418 LIBS=$ac_func_getnameinfo_save_LIBS
419
420 dnl Check for va_copy
421 AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
422   AC_TRY_LINK(
423     [#include <stdarg.h>],
424     [va_list ap1, ap2; va_copy(ap1,ap2);],
425     [ac_cv_c_va_copy="yes"],
426     [ac_cv_c_va_copy="no"]))
427 if test "${ac_cv_c_va_copy}" = "yes"; then
428   AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
429 fi
430 AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
431   AC_TRY_LINK(
432     [#include <stdarg.h>],
433     [va_list ap1, ap2; __va_copy(ap1,ap2);],
434     [ac_cv_c___va_copy="yes"],
435     [ac_cv_c___va_copy="no"]))
436 if test "${ac_cv_c___va_copy}" = "yes"; then
437   AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
438 fi
439
440 AC_CHECK_FUNCS(inet_aton,,[
441   AC_CHECK_LIB(resolv,inet_aton,[
442     VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv])
443   ])
444 ])
445
446 dnl Check for getopt (always use builtin one on win32)
447 if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
448 need_getopt=:
449 else
450 need_getopt=false
451 AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
452 [ # FreeBSD has a gnugetopt library for this:
453   AC_CHECK_LIB([gnugetopt],[getopt_long],
454     [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
455      VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])],
456     [need_getopt=:])])
457 fi
458 AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
459
460 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
461 AC_TYPE_SIGNAL
462 AC_CHECK_LIB(m,cos,[
463   VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm])
464 ])
465 AC_CHECK_LIB(m,pow,[
466   VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc freetype],[-lm])
467 ])
468 AC_CHECK_LIB(m,sqrt,[
469   VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm])
470 ])
471 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
472
473 dnl Check for dynamic plugins
474 ac_cv_have_plugins=no
475
476 # OS X style
477 AC_CHECK_HEADERS(mach-o/dyld.h,
478   [AC_CHECK_FUNCS(NSLinkModule,
479     [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
480      ac_cv_have_plugins=yes])])
481
482 # HP-UX style
483 if test "${ac_cv_have_plugins}" = "no"; then
484   AC_CHECK_HEADERS(dl.h)
485   ac_cv_my_have_shl_load=no
486   AC_CHECK_FUNC(shl_load,
487    [ac_cv_my_have_shl_load=yes,
488     AC_CHECK_LIB(dld, shl_load,
489      [ac_cv_my_have_shl_load=yes
490       VLC_ADD_LDFLAGS([vlc],[-ldld])])])
491   if test "${ac_cv_my_have_shl_load}" = "yes"; then
492     AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
493     ac_cv_have_plugins=yes
494   fi
495 fi
496
497 # Whatever style
498 if test "${ac_cv_have_plugins}" = "no"; then
499   AC_CHECK_LIB(dld, dld_link,
500    [VLC_ADD_LDFLAGS([vlc],[-ldld])
501     AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
502     ac_cv_have_plugins=yes])
503 fi
504
505 # Win32 style
506 if test "${ac_cv_have_plugins}" = "no"; then
507   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
508     AC_CHECK_LIB(kernel32, main,
509      [VLC_ADD_LDFLAGS([vlc],[-lkernel32])
510       AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
511       ac_cv_have_plugins=yes])
512   fi
513 fi
514
515 # WinCE style
516 if test "${ac_cv_have_plugins}" = "no"; then
517   if test "${SYS}" = "mingwce"; then
518     AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
519     ac_cv_have_plugins=yes
520   fi
521 fi
522
523 # BeOS style
524 if test "${ac_cv_have_plugins}" = "no"; then
525   AC_CHECK_HEADERS(image.h)
526   AC_CHECK_FUNCS(load_add_on,
527    [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
528     ac_cv_have_plugins=yes])
529 fi
530
531 # Only test for dlopen() if the others didn't work
532 if test "${ac_cv_have_plugins}" = "no"; then
533   AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
534   ac_cv_my_have_dlopen=no
535   AC_CHECK_FUNC(dlopen,
536     ac_cv_my_have_dlopen=yes,
537     AC_CHECK_LIB(dl, dlopen,
538       ac_cv_my_have_dlopen=yes
539       VLC_ADD_LDFLAGS([vlc],[-ldl]),
540       AC_CHECK_LIB(svld, dlopen,
541         ac_cv_my_have_dlopen=yes
542         VLC_ADD_LDFLAGS([vlc],[-lsvld]))))
543   if test "${ac_cv_my_have_dlopen}" = "yes"; then
544     AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
545     ac_cv_have_plugins=yes
546   fi
547 fi
548
549 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
550 dnl Check for pthreads - borrowed from XMMS
551 THREAD_LIB=error
552 if test "${THREAD_LIB}" = "error"; then
553   AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
554 fi
555 if test "${THREAD_LIB}" = "error"; then
556   AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
557 fi
558 if test "${THREAD_LIB}" = "error"; then
559   AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
560 fi
561 if test "${THREAD_LIB}" = "error"; then
562   AC_CHECK_FUNCS(pthread_mutex_lock)
563   THREAD_LIB=""
564 fi
565
566 dnl Check for cthreads under GNU/Hurd for instance
567 AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
568
569 dnl
570 dnl  GNU portable threads
571 dnl
572 AC_ARG_ENABLE(pth,
573   [  --enable-pth            GNU Pth support (default disabled)],
574   [ if test "${enable_pth}" = "yes"; then
575     AC_CHECK_LIB(pth,pth_init)
576     AC_MSG_CHECKING(for pth_init in pth.h)
577     AC_EGREP_HEADER(pth_init,pth.h,[
578       AC_MSG_RESULT(yes)
579       AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
580                 Define if <pth.h> defines pth_init)
581       THREAD_LIB="-lpth"
582     ],[
583       AC_MSG_RESULT(no)
584     ])
585     fi
586 ])
587
588 dnl
589 dnl  State Threads
590 dnl
591 AC_ARG_ENABLE(st,
592   [  --enable-st             State Threads (default disabled)],
593   [ if test "${enable_st}" = "yes"; then
594     AC_CHECK_LIB(st,st_init)
595     AC_MSG_CHECKING(for st_init in st.h)
596     AC_EGREP_HEADER(st_init,st.h,[
597       AC_MSG_RESULT(yes)
598       AC_DEFINE(ST_INIT_IN_ST_H, 1,
599                 Define if <st.h> defines st_init)
600       THREAD_LIB="-lst"
601     ],[
602       AC_MSG_RESULT(yes)
603     ])
604     fi
605 ])
606
607 VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}])
608
609 dnl Don't link with rt when using GNU-pth
610 if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
611   dnl HP/UX port
612   AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])])
613
614   have_nanosleep=false
615   AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
616     AC_CHECK_LIB(rt,nanosleep,
617       [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:],
618       [AC_CHECK_LIB(posix4,nanosleep,
619           [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])]
620     )
621   ])
622   if ${have_nanosleep}; then
623     AC_DEFINE(HAVE_NANOSLEEP, 1,
624               Define if nanosleep is available.)
625   fi
626 fi
627
628 dnl Check for misc headers
629 AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
630 AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
631   AC_MSG_RESULT(yes)
632   AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
633             Define if <pthread.h> defines pthread_cond_t.)],[
634   AC_MSG_RESULT(no)])
635
636 AC_MSG_CHECKING(for pthread_once in pthread.h)
637 AC_EGREP_HEADER(pthread_once,pthread.h,[
638   AC_MSG_RESULT(yes)
639   AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
640             Define if <pthread.h> defines pthread_once.)],[
641   AC_MSG_RESULT(no)])
642 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
643
644 AC_MSG_CHECKING(for strncasecmp in strings.h)
645 AC_EGREP_HEADER(strncasecmp,strings.h,[
646   AC_MSG_RESULT(yes)
647   AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
648             Define if <strings.h> defines strncasecmp.)],[
649   AC_MSG_RESULT(no)])
650
651 dnl Check for headers
652 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)
653 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
654 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
655 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
656 AC_CHECK_HEADERS(machine/param.h sys/shm.h altivec.h)
657 AC_CHECK_HEADERS(linux/version.h)
658 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
659
660 AC_HEADER_TIME
661
662 dnl Check for dirent
663 need_dirent=false
664 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
665 AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
666
667 dnl Mac OS X and other OSes don't have declaration for nanosleep
668 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
669 AC_MSG_CHECKING(for nanosleep in time.h)
670 AC_EGREP_HEADER(nanosleep,time.h,[
671   AC_MSG_RESULT(yes)
672   AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
673             Define if <time.h> defines nanosleep.)
674 ],[
675   AC_MSG_RESULT(no)
676 ])
677 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
678
679 dnl Make sure we have timespecs
680 AC_MSG_CHECKING(for timespec in sys/time.h)
681 AC_EGREP_HEADER(timespec,sys/time.h,[
682   AC_MSG_RESULT(yes)
683   AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
684             Define if <sys/time.h> defines struct timespec.)
685 ],[
686   AC_MSG_RESULT(no)
687 ])
688
689 dnl Check for threads library
690 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
691 AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
692 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
693
694 dnl Default X headers and libraries
695 if test "${x_includes}" = "NONE"; then
696   x_includes="/usr/X11R6/include"
697 fi
698 if test "${x_libraries}" = "NONE"; then
699   x_libraries="/usr/X11R6/lib"
700 fi
701
702 dnl Check for hal
703 PKG_CHECK_MODULES(HAL, hal >= 0.2.97,
704   [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library])
705    VLC_ADD_PLUGINS([hal])
706    VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS])
707    VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])],
708   [AC_MSG_WARN(HAL library not found)])
709
710 dnl Build the gtk_main plugins?
711 NEED_GTK_MAIN=no
712 NEED_GNOME_MAIN=no
713 NEED_GTK2_MAIN=no
714 NEED_GNOME2_MAIN=no
715
716 dnl build the qte plugin ?
717 NEED_QTE_MAIN=no
718
719 dnl Check for ntohl, etc.
720 AC_CACHE_CHECK([for ntohl in sys/param.h],
721     [ac_cv_c_ntohl_sys_param_h],
722     [CFLAGS="${CFLAGS_save} -Wall -Werror"
723      AC_TRY_COMPILE([#include <sys/param.h>],
724         [void foo() { int meuh; ntohl(meuh); }],
725         ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
726 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
727     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
728 fi
729
730 # XXX: do this with an M4 macro?
731 #dnl Check for various -W flags
732 #for flag in "" all unreachable-code conversion sign-compare disabled-optimization
733 #do
734 #    AC_CACHE_CHECK([if \$CC accepts -W${flag}],
735 #        [ac_cv_c_W${flag}],
736 #        [CFLAGS="-W${flag} ${CFLAGS_save}"
737 #         AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
738 #    if test "${ac_cv_c_W${flag}}" != "no"; then
739 #        CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
740 #        CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
741 #        OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
742 #    fi
743 #done
744
745 AC_CACHE_CHECK([if \$CC accepts -Wall],
746     [ac_cv_c_Wall],
747     [CFLAGS="-Wall ${CFLAGS_save}"
748      AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
749
750 AC_CACHE_CHECK([if \$CC accepts -Wconversion],
751     [ac_cv_c_Wconversion],
752     [CFLAGS="-Wconversion ${CFLAGS_save}"
753      AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
754
755 AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
756     [ac_cv_c_Wunreachable_code],
757     [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
758      AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
759
760 AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
761     [ac_cv_c_Wsign_compare],
762     [CFLAGS="-Wsign-compare ${CFLAGS_save}"
763      AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
764
765 if test "${ac_cv_c_Wall}" != "no"; then
766     CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
767     CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
768     OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
769 fi
770
771 if test "${ac_cv_c_Wsign_compare}" != "no"; then
772     CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
773     CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
774     OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
775 fi
776
777 dnl Check for -pipe
778 AC_CACHE_CHECK([if \$CC accepts -pipe],
779     [ac_cv_c_pipe],
780     [CFLAGS="${CFLAGS_save} -pipe"
781      AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
782 if test "${ac_cv_c_pipe}" != "no"; then
783     CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
784     CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
785     OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
786 fi
787
788 dnl Check for various optimization flags
789 AC_CACHE_CHECK([if \$CC accepts -Os],
790     [ac_cv_c_os],
791     [CFLAGS="${CFLAGS_save} -Os"
792      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
793 if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
794     CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
795 fi
796
797 AC_CACHE_CHECK([if \$CC accepts -O3],
798     [ac_cv_c_o3],
799     [CFLAGS="${CFLAGS_save} -O3"
800      AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
801 if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
802     CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
803 fi
804
805 AC_CACHE_CHECK([if \$CC accepts -O2],
806     [ac_cv_c_o2],
807     [CFLAGS="${CFLAGS_save} -O2"
808      AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
809 if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
810     if test "${ac_cv_c_o3}" = "no"; then
811         CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
812     fi
813     CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
814 else 
815     AC_CACHE_CHECK([if \$CC accepts -O],
816         [ac_cv_c_o],
817         [CFLAGS="${CFLAGS_save} -O"
818          AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
819     if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
820         if test "${ac_cv_c_o3}" = "no"; then
821             CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
822         fi
823         CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
824     fi
825 fi
826
827 dnl Check for -ffast-math
828 AC_CACHE_CHECK([if \$CC accepts -ffast-math],
829     [ac_cv_c_fast_math],
830     [CFLAGS="${CFLAGS_save} -ffast-math"
831      AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
832 if test "${ac_cv_c_fast_math}" != "no"; then
833     CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
834 fi
835
836 dnl Check for -funroll-loops
837 dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
838 if test "${SYS}" != "beos"
839 then
840   AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
841       [ac_cv_c_unroll_loops],
842       [CFLAGS="${CFLAGS_save} -funroll-loops"
843        AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
844   if test "${ac_cv_c_unroll_loops}" != "no"; then
845       CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
846   fi
847 fi
848
849 dnl Check for -fomit-frame-pointer
850 AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
851     [ac_cv_c_omit_frame_pointer],
852     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
853      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
854 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
855     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
856     # this plugin does not compile without -fomit-frame-pointer, damn gcc!
857     VLC_ADD_CFLAGS([i420_yuy2_mmx],[-fomit-frame-pointer])
858 fi
859
860 dnl Check for -mdynamic-no-pic
861 AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
862     [ac_cv_c_dynamic_no_pic],
863     [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
864      AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
865 if test "${ac_cv_c_dynamic_no_pic}" != "no"; then
866     VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
867     VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
868 fi
869
870 dnl Check for Darwin plugin linking flags
871 AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
872     [ac_cv_ld_darwin],
873     [CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic"
874      AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
875 if test "${ac_cv_ld_darwin}" != "no"; then
876     VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error -lcc_dynamic])
877 fi
878
879 dnl Check for standard plugin linking flags
880 dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
881 if test "${SYS}" = "beos"; then
882   VLC_ADD_LDFLAGS([plugin mozilla],[-nostart])
883 else
884   AC_CACHE_CHECK([if \$CC accepts -shared],
885       [ac_cv_ld_plugins],
886       [CFLAGS="${CFLAGS_save} -shared"
887        AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
888   if test "${ac_cv_ld_plugins}" != "no"; then
889     VLC_ADD_LDFLAGS([plugin mozilla],[-shared])
890   fi
891 fi
892
893 dnl Check for variadic macros
894 AC_CACHE_CHECK([for variadic cpp macros],
895     [ac_cv_cpp_variadic_macros],
896     [CFLAGS="${CFLAGS_save}"
897      AC_TRY_COMPILE(
898          [#include <stdio.h>
899           #define a(b,c...) printf(b,##c)],
900          [a("foo");a("%s","bar");a("%s%s","baz","quux");],
901          ac_cv_cpp_variadic_macros=yes,
902          ac_cv_cpp_variadic_macros=no)])
903 if test "${ac_cv_cpp_variadic_macros}" != "no"; then
904     AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
905 fi
906
907 dnl Checks for __attribute__(aligned()) directive
908 AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
909     [ac_cv_c_attribute_aligned],
910     [ac_cv_c_attribute_aligned=0
911         CFLAGS="${CFLAGS_save} -Werror"
912     for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
913         AC_TRY_COMPILE([],
914         [static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
915         [ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
916     done
917         CFLAGS="${CFLAGS_save}"])
918 if test "${ac_cv_c_attribute_aligned}" != "0"; then
919     AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
920         [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
921 fi
922
923 dnl Checks for __attribute__(format()) directive
924 AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
925     [ac_cv_c_attribute_format],
926     [ac_cv_c_attribute_format=no
927         CFLAGS="${CFLAGS_save} -Werror"
928         AC_TRY_COMPILE([],
929         [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
930         [ac_cv_c_attribute_format=yes])
931         CFLAGS="${CFLAGS_save}"])
932 if test "${ac_cv_c_attribute_format}" != "no"; then
933     AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
934 fi
935
936 dnl Check for __attribute__(())
937 AC_CACHE_CHECK([for __attribute__((packed))],
938   [ac_cv_c_attribute_packed],
939   [ac_cv_c_attribute_packed=no
940    AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
941                     [ac_cv_c_attribute_packed=yes])])
942 if test "${ac_cv_c_attribute_packed}" != "no"; then
943   AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
944 fi
945
946 dnl
947 dnl  Check the CPU
948 dnl
949 case "${target_cpu}" in
950   "")
951     ARCH=unknown
952     ;;
953   *)
954     ARCH="${target_cpu}"
955     ;;
956 esac
957
958 dnl
959 dnl  Enable profiling
960 dnl
961 AC_ARG_ENABLE(gprof,
962 [  --enable-gprof          gprof profiling (default disabled)])
963 AC_ARG_ENABLE(cprof,
964 [  --enable-cprof          cprof profiling (default disabled)])
965 test "${enable_gprof}" != "yes" && enable_gprof="no"
966 test "${enable_cprof}" != "yes" && enable_cprof="no"
967
968 dnl
969 dnl  default modules
970 dnl
971 VLC_ADD_PLUGINS([dummy logger memcpy])
972 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump])
973 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak])
974 VLC_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur motiondetect])
975 VLC_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32 audio_format])
976 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
977 VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer headphone_channel_mixer normvol])
978 VLC_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer])
979 VLC_ADD_PLUGINS([aout_file equalizer])
980 VLC_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
981 VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag])
982 VLC_ADD_PLUGINS([rawvideo blend scale image logo])
983 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au])
984 VLC_ADD_PLUGINS([access_file access_udp access_tcp access_http access_mms])
985 VLC_ADD_PLUGINS([access_ftp ipv4])
986
987 if test "${SYS}" != "mingwce"; then
988   VLC_ADD_PLUGINS([access_directory sap http])
989   VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq])
990 fi
991
992 dnl
993 dnl  Switch to enable a version of VLC where most modules will be builtin
994 dnl
995 AC_ARG_ENABLE(mostly-builtin,
996 [  --enable-mostly-builtin most modules will be built-in (default disabled)])
997 if test "${enable_mostly_builtin}" = "yes"; then
998   VLC_ADD_BUILTINS([${PLUGINS}])
999   PLUGINS=""
1000 fi
1001
1002 dnl
1003 dnl Some plugins aren't useful on some platforms
1004 dnl
1005 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1006     VLC_ADD_PLUGINS([screensaver])
1007 elif test "${SYS}" != "mingwce"; then
1008     VLC_ADD_PLUGINS([ntservice smb dmo])
1009     VLC_ADD_LDFLAGS([dmo],[-lole32])
1010 fi
1011
1012 dnl
1013 dnl  Accelerated modules
1014 dnl
1015 MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
1016 #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
1017 MMXEXT_MODULES="memcpymmxext"
1018 #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
1019 THREEDNOW_MODULES="memcpy3dn"
1020 SSE_MODULES=""
1021 ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
1022 #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
1023
1024 if test "${enable_gprof}" != "yes"
1025 then
1026   MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
1027 fi
1028
1029 AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
1030     [ac_cv_mmx_inline],
1031     [CFLAGS="${CFLAGS_save}"
1032      AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
1033                     ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
1034 if test "${ac_cv_mmx_inline}" != "no"; then
1035   AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
1036   ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
1037 fi
1038
1039 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1040     [ac_cv_mmxext_inline],
1041     [CFLAGS="${CFLAGS_save}"
1042      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1043                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1044 if test "${ac_cv_mmxext_inline}" != "no"; then
1045   AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1046   ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1047 fi
1048
1049 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1050     [ac_cv_3dnow_inline],
1051     [CFLAGS="${CFLAGS_save}"
1052      AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1053                     ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1054 if test "${ac_cv_3dnow_inline}" != "no"; then
1055   AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1056   ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1057 fi
1058
1059 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1060     [ac_cv_sse_inline],
1061     [CFLAGS="${CFLAGS_save}"
1062      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1063                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1064 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1065   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1066   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1067 fi
1068
1069 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1070 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1071     [ac_cv_altivec_inline],
1072     [CFLAGS="${CFLAGS_save}"
1073      AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1074          ac_cv_altivec_inline=yes,
1075          [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1076           AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1077             [ac_cv_altivec_inline="-Wa,-m7400"],
1078             ac_cv_altivec_inline=no)
1079          ])])
1080 if test "${ac_cv_altivec_inline}" != "no"; then
1081   AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1082   if test "${ac_cv_altivec_inline}" != "yes"; then
1083     VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1084     VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1085     VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1086     VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1087     VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1088   fi
1089   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1090 fi
1091
1092 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1093     [ac_cv_c_altivec],
1094     [# Darwin test
1095      CFLAGS="${CFLAGS_save} -faltivec"
1096      AC_TRY_COMPILE([],
1097        [vec_ld(0, (unsigned char *)0);],
1098        [ac_cv_c_altivec="-faltivec"],
1099        [# Linux/PPC test (no flags)
1100         CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec"
1101         AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
1102                         #include <altivec.h>
1103                         #endif],
1104           [vec_ld(0, (unsigned char *)0);],
1105           [ac_cv_c_altivec=""
1106            ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1107           [# Linux/PPC test (old GCC versions)
1108            CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
1109            AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
1110                            #include <altivec.h>
1111                            #endif],
1112              [vec_ld(0, (unsigned char *)0);],
1113              [ac_cv_c_altivec="-fvec"],
1114              [ac_cv_c_altivec=no])
1115            ])
1116         ])
1117      CFLAGS="${CFLAGS_save}"])
1118 if test "${ac_cv_c_altivec}" != "no"; then
1119   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1120   VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1121   VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1122   VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1123   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1124 fi
1125
1126 AC_CACHE_CHECK([if linker needs -framework vecLib],
1127     [ac_cv_ld_altivec],
1128     [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1129      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1130      LDFLAGS="${LDFLAGS_save}"
1131     ])
1132 if test "${ac_cv_ld_altivec}" != "no"; then
1133   VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1134 fi
1135 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1136
1137 AC_ARG_WITH(,[])
1138 AC_ARG_WITH(,[Optimization options:])
1139
1140 dnl
1141 dnl  Special arch tuning
1142 dnl
1143 AC_ARG_WITH(tuning,
1144 [  --with-tuning=ARCH      enable special tuning for an architecture
1145                           (default i686 on IA-32 and 750 on PPC)])
1146 if test -n "${with_tuning}"; then
1147     if test "${target_cpu}" = "powerpc"; then
1148         CFLAGS_TUNING="-mtune=${with_tuning}"
1149     else
1150         CFLAGS_TUNING="-mcpu=${with_tuning}"
1151     fi
1152 else
1153     if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1154         CFLAGS_TUNING="-mcpu=pentiumpro"
1155     else
1156         if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi
1157     fi
1158 fi
1159
1160 dnl
1161 dnl  x86 accelerations
1162 dnl
1163 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386"
1164 then
1165     ARCH="${ARCH} mmx"
1166     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1167 fi
1168
1169 dnl
1170 dnl  Enable/disable optimizations
1171 dnl
1172 AC_ARG_ENABLE(optimizations,
1173 [  --disable-optimizations disable compiler optimizations (default enabled)])
1174 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1175
1176 dnl
1177 dnl  AltiVec acceleration
1178 dnl
1179 AC_ARG_ENABLE(altivec,
1180 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
1181 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1182     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1183 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1184     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1185
1186 dnl
1187 dnl  Debugging mode
1188 dnl
1189 AC_ARG_ENABLE(debug,
1190 [  --enable-debug          debug mode (default disabled)])
1191 test "${enable_debug}" != "yes" && enable_debug="no"
1192
1193 dnl
1194 dnl  Enable release-specific flags
1195 dnl
1196 AC_ARG_ENABLE(release,
1197 [  --enable-release        activate extra optimizations (default disabled)])
1198 test "${enable_release}" != "yes" && enable_release="no"
1199
1200 dnl
1201 dnl Stream output
1202 dnl
1203 AC_ARG_ENABLE(sout,
1204   [  --enable-sout           Stream output modules (default enabled)])
1205 if test "${enable_sout}" != "no"
1206 then
1207   VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1208   VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1209   VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
1210   VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
1211   VLC_ADD_PLUGINS([packetizer_copy])
1212
1213   VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1214   VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode])
1215 #  VLC_ADD_PLUGINS([stream_out_transrate])
1216
1217   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1218 fi
1219
1220 dnl
1221 dnl HTTP daemon
1222 dnl
1223 AC_ARG_ENABLE(httpd,
1224   [  --enable-httpd          HTTP daemon (default enabled)])
1225 if test "${enable_httpd}" != "no"
1226 then
1227   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1228 fi
1229
1230 dnl
1231 dnl VideoLAN manager
1232 dnl
1233 AC_ARG_ENABLE(vlm,
1234   [  --enable-vlm            VideoLAN manager (default enabled)])
1235 if test "${enable_vlm}" != "no"
1236 then
1237   AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1238 fi
1239
1240 dnl
1241 dnl TLS/SSL
1242 dnl
1243 AC_ARG_ENABLE(gnutls,
1244   [  --enable-gnutls         gnutls TLS/SSL support (default disabled)])
1245 AS_IF([test "${enable_gnutls}" == "yes"], VLC_ADD_PLUGINS([gnutls]))
1246
1247
1248 dnl
1249 dnl  Input plugins
1250 dnl
1251
1252 AC_ARG_WITH(,[Input plugins:])
1253
1254 dnl  live.com input
1255 dnl
1256 AC_ARG_ENABLE(livedotcom,
1257 [  --enable-livedotcom     live.com input plugin (default disabled)])
1258 if test "${enable_livedotcom}" = "yes"; then
1259   AC_ARG_WITH(livedotcom-tree,
1260     [    --with-livedotcom-tree=PATH live.com tree for static linking])
1261
1262   dnl
1263   dnl test for --with-livedotcom-tree
1264   dnl
1265   if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1266     AC_LANG_PUSH(C++)
1267     CPPFLAGS_save="${CPPFLAGS}"
1268     CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1269     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1270     AC_CHECK_HEADERS(liveMedia.hh, [
1271       VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1272       AC_CHECK_LIB(liveMedia_pic, main, [
1273         # We have -lliveMedia_pic, build plugins
1274         VLC_ADD_PLUGINS([livedotcom])
1275         VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1276       ], [
1277         AC_CHECK_LIB(liveMedia, main, [
1278           # We only have -lliveMedia, do builtins
1279           VLC_ADD_BUILTINS([livedotcom])
1280           VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1281         ])
1282       ])
1283       if test "${SYS}" = "mingw32"; then
1284         # add ws2_32 for closesocket, select, recv
1285         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1286       fi
1287     ])
1288     CPPFLAGS="${CPPFLAGS_save}"
1289     AC_LANG_POP(C++)
1290   else
1291     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1292     real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1293     if test -z "${real_livedotcom_tree}"; then
1294       dnl  The given directory can't be found
1295       AC_MSG_RESULT(no)
1296       AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1297     fi
1298     if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1299       AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1300
1301       VLC_ADD_BUILTINS([livedotcom])
1302
1303       if test "${SYS}" = "mingw32"; then
1304         # add ws2_32 for closesocket, select, recv
1305         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1306       fi
1307
1308       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1309       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1310       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1311       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1312
1313       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1314       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1315       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1316       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1317     else
1318       dnl  The given live.com wasn't built
1319       AC_MSG_RESULT(no)
1320       AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1321     fi
1322   fi
1323 fi
1324
1325
1326 dnl
1327 dnl dvdread module: check for libdvdread
1328 dnl
1329 AC_ARG_ENABLE(dvdread,
1330 [  --enable-dvdread        dvdread input module (default disabled)])
1331 if test "${enable_dvdread}" != "no"
1332 then
1333   AC_ARG_WITH(dvdread,
1334   [    --with-dvdread=PATH   libdvdread headers and libraries])
1335   AC_ARG_WITH(dvdread-tree,
1336   [    --with-dvdread-tree=PATH libdvdread tree for static linking])
1337
1338   dnl Temporary hack (yeah, sure ;)
1339   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1340       VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1341   fi
1342
1343   if test -z "${with_dvdread}"
1344   then
1345     if test -z "${with_dvdread_tree}"
1346     then
1347       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1348         [ VLC_ADD_PLUGINS([dvdread])
1349           VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1350         ],[
1351           if test -n "${enable_dvdread}"
1352           then
1353             AC_MSG_ERROR([cannot find libdvdread headers])
1354           fi
1355         ])
1356     else
1357       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1358       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1359       if test -z "${real_dvdread_tree}"
1360       then
1361         dnl  The given directory can't be found
1362         AC_MSG_RESULT(no)
1363         AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1364       fi
1365       if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1366       then
1367         dnl  Use a custom libdvdread
1368         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1369         VLC_ADD_BUILTINS([dvdread])
1370         VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1371         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1372       else
1373         dnl  The given libdvdread wasn't built
1374         AC_MSG_RESULT(no)
1375         AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1376       fi
1377     fi
1378   else
1379     AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1380     if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1381     then
1382       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
1383       AC_MSG_RESULT(yes)
1384       VLC_ADD_PLUGINS([dvdread])
1385       VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1386       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1387     else
1388       dnl  No libdvdread could be found, sorry
1389       AC_MSG_RESULT(no)
1390       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1391     fi
1392   fi
1393 fi
1394
1395 dnl
1396 dnl  libdvdnav plugin
1397 dnl
1398 AC_ARG_ENABLE(dvdnav,
1399   [  --enable-dvdnav         dvdnav input module (default enabled)])
1400 if test "${enable_dvdnav}" != "no"
1401 then
1402   dnl Same hack than dvdread
1403   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1404       VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1405   fi
1406
1407   DVDNAV_PATH="${PATH}"
1408   AC_ARG_WITH(dvdnav-config-path,
1409     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1410     [ if test "${with_dvdnav_config_path}" != "no"
1411       then
1412         DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1413       fi ])
1414   AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1415   if test "${DVDNAV_CONFIG}" != "no"
1416   then
1417     VLC_ADD_PLUGINS([dvdnav])
1418     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1419     VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1420   fi
1421 fi
1422
1423 dnl
1424 dnl  Windows DirectShow access module
1425 dnl
1426 AC_ARG_ENABLE(dshow,
1427   [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
1428 if test "${enable_dshow}" != "no"
1429 then
1430   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1431   then
1432       AC_CHECK_HEADERS(dshow.h,
1433       [ VLC_ADD_PLUGINS([dshow])
1434         VLC_ADD_CXXFLAGS([dshow],[])
1435         VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32]) ])
1436   fi
1437 fi
1438
1439 dnl
1440 dnl  libsmbclient plugin
1441 dnl
1442 AC_ARG_ENABLE(smb,
1443   [  --enable-smb         smb input module (default enabled)])
1444 if test "${enable_smb}" != "no"; then
1445   AC_CHECK_HEADERS(libsmbclient.h,
1446     [ VLC_ADD_PLUGINS([access_smb])
1447       VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1448     [ if test -n "${enable_smb}"; then
1449         AC_MSG_ERROR([cannot find libsmbclient headers])
1450      fi ])
1451 fi
1452
1453 dnl
1454 dnl  libdvbpsi ts demux/mux
1455 dnl
1456 AC_ARG_ENABLE(dvbpsi,
1457 [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
1458 if test "${enable_dvbpsi}" != "no"
1459 then
1460   AC_ARG_WITH(dvbpsi,
1461   [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
1462   AC_ARG_WITH(dvbpsi,
1463   [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1464   case "${with_dvbpsi}" in
1465   ""|yes)
1466     if test -z "${with_dvbpsi_tree}"
1467     then
1468       AC_CHECK_HEADERS(dvbpsi/dr.h,
1469         [ VLC_ADD_PLUGINS([mux_ts ts])
1470           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1471         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1472         [#if defined( HAVE_STDINT_H )
1473 #   include <stdint.h>
1474 #elif defined( HAVE_INTTYPES_H )
1475 #   include <inttypes.h>
1476 #endif
1477 #include <dvbpsi/dvbpsi.h>
1478 #include <dvbpsi/descriptor.h>
1479 #include <dvbpsi/pat.h>
1480 #include <dvbpsi/pmt.h>])
1481     else
1482       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1483       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1484       if test -z "${real_dvbpsi_tree}"
1485       then
1486         dnl  The given directory can't be found
1487         AC_MSG_RESULT(no)
1488         AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1489       fi
1490       if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1491       then
1492         dnl  Use a custom libdvbpsi
1493         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1494         VLC_ADD_BUILTINS([mux_ts ts])
1495         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1496         VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
1497       else
1498         dnl  The given libdvbpsi wasn't built
1499         AC_MSG_RESULT(no)
1500         AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1501       fi
1502     fi
1503   ;;
1504   no)
1505     dnl  Compile without dvbpsi
1506   ;;
1507   *)
1508     AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1509     if test -z "${with_dvbpsi}"
1510     then
1511       LDFLAGS_test=""
1512       CPPFLAGS_test=""
1513     else
1514       LDFLAGS_test="-L${with_dvbpsi}/lib"
1515       CPPFLAGS_test="-I${with_dvbpsi}/include"
1516     fi
1517     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1518     AC_CHECK_HEADERS([dvbpsi/dr.h],[
1519       VLC_ADD_PLUGINS([mux_ts ts])
1520       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1521       VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1522
1523     ],[
1524       if test -n "${enable_dvbpsi}"
1525       then
1526         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])
1527       fi
1528     ])
1529     CPPFLAGS="${CPPFLAGS_save}"
1530   ;;
1531   esac
1532 fi
1533
1534 dnl
1535 dnl  Video4Linux plugin
1536 dnl
1537 AC_ARG_ENABLE(v4l,
1538   [  --enable-v4l            Video4Linux input support (default disabled)])
1539 if test "${enable_v4l}" = "yes"
1540 then
1541   AC_ARG_WITH(v4l,
1542     [    --with-v4l=PATH       path to a v4l-enabled kernel tree],[],[])
1543   if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1544   then
1545     VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1546   fi
1547
1548   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1549   AC_CHECK_HEADERS(linux/videodev.h, [
1550     VLC_ADD_PLUGINS([v4l])
1551   ],[])
1552   CPPFLAGS="${CPPFLAGS_save}"
1553 fi
1554
1555 dnl
1556 dnl  special access module for Hauppauge PVR cards
1557 dnl
1558 AC_ARG_ENABLE(pvr,
1559   [  --enable-pvr            PVR cards access module (default disabled)])
1560 if test "${enable_pvr}" = "yes"
1561 then
1562   VLC_ADD_PLUGINS([pvr])
1563 fi
1564
1565 dnl
1566 dnl  VCDX and CDDAX modules
1567 dnl
1568 AC_ARG_ENABLE(libcdio,
1569   [  --enable-libcdio        CDDA support via libcdio (default enabled)])
1570  
1571 AC_ARG_ENABLE(libcddb,
1572   [  --enable-libcddb        CDDB support for CDDAX (default enabled)])
1573  
1574 AC_ARG_ENABLE(vcdx,
1575   [  --enable-vcdx           VCD support with Navigation (default disabled)])
1576  
1577 AC_ARG_ENABLE(cdda,           
1578   [  --enable-cdda           CDDA plugin support (default enabled)])
1579  
1580 AC_ARG_ENABLE(cddax,
1581   [  --enable-cddax          CDDA plugin with CD Text and possibly CDDB and paranoia support (default disabled)])
1582  
1583 if test "${enable_cddax}" = "yes"
1584 then
1585   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71,
1586    [
1587     AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio])
1588     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1589     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1590     VLC_ADD_PLUGINS([cddax])], 
1591     [AC_MSG_WARN(libcdio library not found)
1592     HAVE_CDDAX=no])
1593
1594   PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1595   VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])], 
1596   HAVE_CDDAX=no)
1597
1598   if test "$enable_libcddb" != "no"; then
1599     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1600       HAVE_LIBCDDB=yes 
1601       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1602       VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1603       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1604       ],
1605       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
1606       HAVE_LIBCDDB=no])
1607   fi
1608  
1609 fi
1610
1611 if test "${enable_vcdx}" = "yes"
1612 then
1613   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71,
1614    [VLC_ADD_LDFLAGS([vcdx],[$LIBCDIO_LIBS])
1615     VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
1616     [AC_MSG_WARN(libcdio library not found)
1617     HAVE_VCDX=no])
1618
1619   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1620    [AC_DEFINE(HAVE_VCDX, [], 
1621     [Define for the VCD plugin using libcdio/libvcdinfo])
1622     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1623     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1624     VLC_ADD_PLUGINS([vcdx])], 
1625    [AC_MSG_WARN(vcdinfo library not found)
1626    HAVE_VCDX=no])
1627 fi
1628
1629 dnl
1630 dnl  VCD module
1631 dnl
1632 AC_ARG_ENABLE(vcd,
1633   [  --enable-vcd            VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
1634
1635 if test "${enable_vcd}" != "no"
1636 then
1637   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1638   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1639     AC_MSG_RESULT(yes)
1640     VLC_ADD_PLUGINS([vcd cdda])
1641   ],[
1642     AC_MSG_RESULT(no)
1643   ])
1644
1645   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1646   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1647     AC_MSG_RESULT(yes)
1648     VLC_ADD_PLUGINS([vcd cdda])
1649     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1650   ],[
1651     AC_MSG_RESULT(no)
1652   ])
1653
1654   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1655   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1656     AC_MSG_RESULT(yes)
1657     VLC_ADD_PLUGINS([vcd cdda])
1658     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1659   ],[
1660     AC_MSG_RESULT(no)
1661   ])
1662
1663   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
1664   then
1665     VLC_ADD_PLUGINS([vcd cdda])
1666   fi
1667
1668   if test "${SYS}" = "darwin"
1669   then
1670     VLC_ADD_PLUGINS([vcd cdda])
1671     VLC_ADD_LDFLAGS([vcd vcdx cdda],[-framework IOKit -framework CoreFoundation])
1672   fi
1673 fi
1674
1675 dnl
1676 dnl  Satellite input module
1677 dnl
1678 AC_ARG_ENABLE(satellite,
1679   [  --enable-satellite      satellite card support (default disabled)],
1680   [ if test "${enable_satellite}" = "yes"
1681     then
1682       AC_DEFINE(HAVE_SATELLITE, [], 
1683       [Define for the VCD plugin using libcdio/libvcdinfo])
1684       VLC_ADD_PLUGINS([satellite])
1685     fi])
1686
1687 dnl
1688 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
1689 dnl
1690 AC_ARG_ENABLE(dvb,
1691   [  --enable-dvb            DVB-S/T/C card support (default disabled)])
1692
1693 if test "${enable_dvb}" = "yes"
1694 then
1695   AC_ARG_WITH(dvb,
1696   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
1697   if test "${with_dvb}" != "no" -a -n "${with_dvb}"
1698   then
1699     VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
1700   fi
1701   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
1702   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
1703     VLC_ADD_PLUGINS([dvb])
1704   ],[])
1705   CPPFLAGS="${CPPFLAGS_save}"
1706 fi
1707
1708 dnl
1709 dnl  Screen capture module
1710 dnl
1711 AC_ARG_ENABLE(screen,
1712   [  --enable-screen         Screen capture support (default enabled)])
1713 if test "${enable_screen}" != "no"; then
1714   if test "${SYS}" = "darwin"; then
1715     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1716       VLC_ADD_PLUGINS([screen])
1717       VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
1718     ])
1719   elif test "${SYS}" = "mingw32"; then
1720     VLC_ADD_PLUGINS([screen])
1721     VLC_ADD_LDFLAGS([screen],[-lgdi32])
1722   elif test "${SYS}" = "mingwce"; then
1723     CPPFLAGS="${CPPFLAGS_save}"
1724   elif test "${SYS}" = "beos"; then
1725     VLC_ADD_PLUGINS([screen])
1726     VLC_ADD_CXXFLAGS([screen],[])
1727     VLC_ADD_LDFLAGS([screen],[-lbe])
1728   else
1729     CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
1730     AC_CHECK_HEADERS(X11/Xlib.h, [
1731       VLC_ADD_PLUGINS([screen])
1732       VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
1733       VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
1734     ])
1735     CPPFLAGS="${CPPFLAGS_save}"
1736   fi
1737 fi
1738
1739 dnl
1740 dnl  ipv6 plugin - not for QNX yet
1741 dnl
1742 if test "${SYS}" != "nto" &&
1743    test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1744 then
1745   have_ipv6=false
1746   AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[
1747     AC_CHECK_LIB(resolv,inet_pton,
1748       [have_ipv6=:
1749        VLC_ADD_LDFLAGS([ipv6],[-lresolv])])
1750   ])
1751   AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
1752   AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1753     [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) have_ipv6=false])
1754   if ${have_ipv6}; then
1755     VLC_ADD_PLUGINS([ipv6])
1756   fi
1757 fi
1758 if test "${SYS}" = "mingw32"
1759 then
1760   AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
1761   AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1762     VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
1763 fi
1764
1765 dnl
1766 dnl  ogg demux plugin
1767 dnl
1768 AC_ARG_ENABLE(ogg,
1769   [  --enable-ogg            Ogg demux support (default enabled)])
1770 if test "${enable_ogg}" != "no"
1771 then
1772   AC_CHECK_HEADERS(ogg/ogg.h, [
1773     AC_CHECK_LIB( ogg, oggpack_read, [
1774       VLC_ADD_PLUGINS([ogg])
1775       if test "${enable_sout}" != "no"; then
1776         VLC_ADD_PLUGINS([mux_ogg])
1777       fi
1778       VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
1779    ],[])
1780 fi
1781
1782 dnl
1783 dnl  matroska demux plugin
1784 dnl
1785 AC_ARG_ENABLE(mkv,
1786   [  --enable-mkv            Matroska demux support (default enabled)])
1787 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
1788   AC_LANG_PUSH(C++)
1789   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1790     AC_MSG_CHECKING(for libebml version >= 0.7.3)
1791     AC_EGREP_CPP(yes,
1792       [#include <ebml/EbmlVersion.h>
1793        #ifdef LIBEBML_VERSION
1794        #if LIBEBML_VERSION >= 0x000703
1795        yes
1796        #endif
1797        #endif],
1798       [AC_MSG_RESULT([yes])
1799         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
1800           AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
1801           AC_EGREP_CPP(yes,
1802             [#include <matroska/KaxVersion.h>
1803              #ifdef LIBMATROSKA_VERSION
1804              #if LIBMATROSKA_VERSION >= 0x000705
1805              yes
1806              #endif
1807              #endif],
1808             [AC_MSG_RESULT([yes])
1809               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
1810               VLC_ADD_CXXFLAGS([mkv],[])
1811               AC_CHECK_LIB(ebml_pic, main, [
1812                 # We have ebml_pic, that's good, we can build an mkv.so plugin !
1813                 VLC_ADD_PLUGINS([mkv])
1814                 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
1815               ], [
1816                 AC_CHECK_LIB(ebml, main, [
1817                   # We only have libebml, make mkv.a a builtin
1818                   VLC_ADD_BUILTINS([mkv])
1819                   VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
1820                 ])
1821               ])
1822             ],
1823             [AC_MSG_RESULT([no])
1824               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.])
1825           ])
1826         ])
1827       ],
1828       [AC_MSG_RESULT([no])
1829         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.])
1830     ])
1831   ])
1832   AC_LANG_POP(C++)
1833 fi
1834
1835 dnl
1836 dnl  modplug demux plugin
1837 dnl
1838 AC_ARG_ENABLE(mod,
1839   [  --enable-mod            Mod demux support (default enabled)])
1840 if test "${enable_mod}" != "no"
1841 then
1842   AC_CHECK_HEADERS(libmodplug/modplug.h, [
1843     VLC_ADD_PLUGINS([mod])
1844     VLC_ADD_CXXFLAGS([mod],[])
1845     VLC_ADD_LDFLAGS([mod],[-lmodplug])])
1846 fi
1847
1848 dnl
1849 dnl  Codec plugins
1850 dnl
1851
1852 AC_ARG_WITH(,[Codec plugins:])
1853
1854 dnl
1855 dnl  mad plugin
1856 dnl
1857 AC_ARG_ENABLE(mad,
1858   [  --enable-mad            libmad module (default enabled)])
1859 if test "${enable_mad}" != "no"
1860 then
1861   AC_ARG_WITH(mad,
1862     [    --with-mad=PATH       path to libmad],[],[])
1863   if test "${with_mad}" != "no" -a -n "${with_mad}"
1864   then
1865     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
1866     VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
1867   fi
1868
1869   AC_ARG_WITH(mad-tree,
1870     [    --with-mad-tree=PATH  mad tree for static linking],[],[])
1871   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
1872   then
1873     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
1874     if test -z "${real_mad_tree}"
1875     then
1876       dnl  The given directory can't be found
1877       AC_MSG_RESULT(no)
1878       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
1879     fi
1880     dnl  Use a custom libmad
1881     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
1882     if test -f ${real_mad_tree}/mad.h
1883     then
1884       AC_MSG_RESULT(yes)
1885       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
1886       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
1887       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
1888       AC_CHECK_LIB(mad, mad_bit_init, [
1889         VLC_ADD_BUILTINS([mpgatofixed32])
1890         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
1891         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
1892       ],[])
1893       LDFLAGS="${LDFLAGS_save}"
1894     else
1895       AC_MSG_RESULT(no)
1896       AC_MSG_ERROR([the specified tree doesn't have mad.h])
1897     fi
1898   else
1899     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
1900     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
1901     AC_CHECK_HEADERS(mad.h, ,
1902       [ 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.]) ])
1903     AC_CHECK_LIB(mad, mad_bit_init, [
1904       VLC_ADD_PLUGINS([mpgatofixed32])
1905       VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
1906       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1907     CPPFLAGS="${CPPFLAGS_save}"
1908     LDFLAGS="${LDFLAGS_save}"
1909   fi
1910 fi
1911
1912 dnl
1913 dnl   libid3tag support (FIXME!!! doesn't work with new input)
1914 dnl
1915 AC_CHECK_HEADERS(id3tag.h, [
1916   AC_CHECK_HEADERS(zlib.h, [
1917     VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
1918     VLC_ADD_PLUGINS([id3tag])]) ])
1919
1920 dnl
1921 dnl  ffmpeg decoder/demuxer plugin
1922 dnl
1923 AC_ARG_ENABLE(ffmpeg,
1924 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
1925 if test "${enable_ffmpeg}" != "no"
1926 then
1927   FFMPEG_PATH="${PATH}"
1928   AC_ARG_WITH(ffmpeg-config-path,
1929     [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
1930     [ if test "${with_ffmpeg_config_path}" != "no"
1931       then
1932         FFMPEG_PATH="${with_ffmpeg_config_path}:${PATH}"
1933       fi ])
1934   AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
1935   if test "${FFMPEG_CONFIG}" != "no"
1936   then
1937     AC_CHECK_HEADERS(ffmpeg/avcodec.h)
1938     AC_CHECK_HEADERS(postproc/postprocess.h)
1939     VLC_ADD_PLUGINS([ffmpeg])
1940     VLC_ADD_CFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --cflags`])
1941     VLC_ADD_LDFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
1942   else
1943     AC_ARG_WITH(ffmpeg-mp3lame,
1944       [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
1945       [
1946         VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
1947
1948     AC_ARG_WITH(ffmpeg-faac,
1949       [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
1950       [
1951         VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
1952
1953     AC_ARG_WITH(ffmpeg-dts,
1954       [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
1955       [
1956         VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
1957
1958     AC_ARG_WITH(ffmpeg-zlib,
1959       [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
1960       [
1961         VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
1962
1963     AC_ARG_WITH(ffmpeg-tree,
1964       [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1965
1966     dnl
1967     dnl test for !(--with-ffmpeg-tree)
1968     dnl
1969     if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
1970       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
1971       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
1972       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
1973       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
1974       AC_CHECK_LIB(avcodec, avcodec_init, [
1975         VLC_ADD_BUILTINS([ffmpeg])
1976         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])],
1977          [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ])
1978       AC_CHECK_LIB(avformat, av_open_input_stream, [
1979         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
1980         [Define if you have ffmpeg's libavformat.])
1981         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz])
1982       LDFLAGS="${LDFLAGS_save}"
1983       CPPFLAGS="${CPPFLAGS_save}"
1984     fi
1985
1986     dnl
1987     dnl test for --with-ffmpeg-tree
1988     dnl
1989     if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
1990       AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
1991       real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1992       if test -z "${real_ffmpeg_tree}"; then
1993         dnl  The given directory can't be found
1994         AC_MSG_RESULT(no)
1995         AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
1996       fi
1997       if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
1998         dnl  The given libavcodec wasn't built
1999         AC_MSG_RESULT(no)
2000         AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2001       fi
2002       if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2003         dnl  The given libavcodec wasn't built with --enable-pp
2004         AC_MSG_RESULT(no)
2005         AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2006       fi
2007       dnl  Use a custom libffmpeg
2008       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2009
2010       if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2011         if test "${with_ffmpeg_zlib}" != "yes"; then
2012           VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2013         fi
2014       fi
2015       if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2016         if test "${with_ffmpeg_mp3lame}" != "yes"; then
2017           VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2018         fi
2019       fi
2020       if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2021         if test "${with_ffmpeg_faac}" != "yes"; then
2022           VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2023         fi
2024       fi
2025       if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2026         if test "${with_ffmpeg_dts}" != "yes"; then
2027           VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
2028         fi
2029       fi
2030       if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2031         VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2032       fi
2033       if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2034         VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2035       fi
2036       if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2037         VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2038       fi
2039
2040       VLC_ADD_BUILTINS([ffmpeg])
2041       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2042       VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec])
2043
2044       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2045         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2046         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2047         VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
2048       fi
2049     fi
2050   fi
2051 fi
2052
2053 dnl
2054 dnl  ffmpeg decoder/demuxer plugin
2055 dnl
2056 AC_ARG_ENABLE(ffmpegaltivec,
2057 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
2058 if test "${enable_ffmpegaltivec}" == "yes"
2059 then
2060   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2061     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2062     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2063     if test -z "${real_ffmpeg_tree}"; then
2064       dnl  The given directory can't be found
2065       AC_MSG_RESULT(no)
2066       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2067     fi
2068     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2069       dnl  The given libavcodecaltivec wasn't built
2070       AC_MSG_RESULT(no)
2071       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2072     fi
2073     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2074       dnl  The given libavcodecaltivec wasn't built with --enable-pp
2075       AC_MSG_RESULT(no)
2076       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2077     fi
2078     dnl  Use a custom libffmpeg
2079     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2080     VLC_ADD_BUILTINS([ffmpegaltivec])
2081     VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2082     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2083     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2084
2085     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2086       AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2087       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2088       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2089     fi
2090   fi
2091 fi
2092
2093 dnl
2094 dnl  faad decoder plugin
2095 dnl
2096 AC_ARG_ENABLE(faad,
2097 [  --enable-faad           faad codec (default disabled)])
2098 if test "${enable_faad}" = "yes"
2099 then
2100   AC_ARG_WITH(faad-tree,
2101   [    --with-faad-tree=PATH faad tree for static linking])
2102   if test -n "${with_faad_tree}"
2103   then
2104     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2105     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2106     if test -z "${real_faad_tree}"
2107     then
2108       dnl  The given directory can't be found
2109       AC_MSG_RESULT(no)
2110       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2111     fi
2112     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2113     then
2114       dnl  Use a custom faad
2115       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2116       VLC_ADD_BUILTINS([faad])
2117       VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2118       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2119     else
2120       dnl  The given libfaad wasn't built
2121       AC_MSG_RESULT(no)
2122       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2123     fi
2124   else
2125     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2126     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2127     AC_CHECK_HEADERS(faad.h, ,
2128       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2129     AC_CHECK_LIB(faad, faacDecOpen, [
2130       VLC_ADD_PLUGINS([faad])
2131       VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2132       AC_CHECK_LIB(faad, NeAACDecOpen, [
2133         VLC_ADD_PLUGINS([faad])
2134         VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2135         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2136     LDFLAGS="${LDFLAGS_save}"
2137     CPPFLAGS="${CPPFLAGS_save}"
2138   fi
2139 fi
2140
2141 dnl
2142 dnl toolame encoder plugin
2143 dnl
2144 AC_ARG_ENABLE(toolame,
2145 [  --enable-toolame        toolame codec (default disabled)])
2146 if test "${enable_toolame}" = "yes"
2147 then
2148   AC_ARG_WITH(toolame-tree,
2149   [    --with-toolame-tree=PATH toolame tree for static linking])
2150   if test -n "${with_toolame_tree}"
2151   then
2152     AC_MSG_CHECKING(for libtoolame.a in ${with_toolame_tree})
2153     real_toolame_tree="`cd ${with_toolame_tree} 2>/dev/null && pwd`"
2154     if test -z "${real_toolame_tree}"
2155     then
2156       dnl  The given directory can't be found
2157       AC_MSG_RESULT(no)
2158       AC_MSG_ERROR([cannot cd to ${with_toolame_tree}])
2159     fi
2160     if test -f "${real_toolame_tree}/libtoolame/libtoolame.a"
2161     then
2162       dnl  Use a custom toolame
2163       AC_MSG_RESULT(${real_toolame_tree}/libtoolame/libtoolame.a)
2164       VLC_ADD_BUILTINS([toolame])
2165       VLC_ADD_LDFLAGS([toolame],[${real_faad_tree}/libtoolame/libtoolame.a])
2166       VLC_ADD_CPPFLAGS([toolame],[-I${real_toolame_tree}/libtoolame])
2167     else
2168       dnl  The given libtoolame wasn't built
2169       AC_MSG_RESULT(no)
2170       AC_MSG_ERROR([cannot find ${real_toolame_tree}/libtoolame/libtoolame.a, make sure you compiled libtoolame in ${with_toolame_tree}])
2171     fi
2172   else
2173     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_toolame}"
2174     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}"
2175     AC_CHECK_HEADERS(toolame.h, ,
2176       [ AC_MSG_ERROR([Cannot find development header for libtoolame...]) ])
2177     AC_CHECK_LIB(toolame, toolame_init, [
2178       VLC_ADD_PLUGINS([toolame])
2179       VLC_ADD_LDFLAGS([toolame],[-ltoolame]) ],
2180         [ AC_MSG_ERROR([Cannot find libtoolame library...]) ])
2181     LDFLAGS="${LDFLAGS_save}"
2182     CPPFLAGS="${CPPFLAGS_save}"
2183   fi
2184 fi
2185
2186 dnl
2187 dnl  QuickTime plugin
2188 dnl
2189 AC_ARG_ENABLE(quicktime,
2190   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
2191 if test "${enable_quicktime}" != "no" &&
2192   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2193 then
2194   if test "${SYS}" = "mingw32"; then
2195     VLC_ADD_BUILTINS([quicktime])
2196   else
2197   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2198     [ VLC_ADD_BUILTINS([quicktime])
2199       VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2200     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2201   fi
2202 fi
2203
2204 dnl
2205 dnl MP4 module
2206 dnl
2207 AC_CHECK_HEADERS(zlib.h, [
2208   VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2209 ] )
2210
2211 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2212   VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2213 ] )
2214
2215 dnl
2216 dnl skins2 module
2217 dnl
2218 AC_CHECK_HEADERS(libtar.h, [
2219   VLC_ADD_LDFLAGS([skins2],[-ltar])
2220 ] )
2221
2222
2223
2224 dnl
2225 dnl A52/AC3 decoder plugin
2226 dnl
2227 AC_ARG_ENABLE(a52,
2228   [  --enable-a52            A/52 support with liba52 (default enabled)])
2229 if test "${enable_a52}" != "no"
2230 then
2231   AC_ARG_WITH(a52,
2232     [    --with-a52=PATH       a52 headers and libraries])
2233   AC_ARG_WITH(a52-tree,
2234     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
2235   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2236   then
2237     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2238     if test -z "${real_a52_tree}"
2239     then
2240       dnl  The given directory can't be found
2241       AC_MSG_RESULT(no)
2242       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2243     fi
2244     dnl  Use a custom a52dec
2245     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2246     if test -f ${real_a52_tree}/include/a52.h
2247     then
2248       AC_MSG_RESULT(yes)
2249       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2250       VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2251       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2252       AC_CHECK_LIB(a52, a52_free, [
2253         VLC_ADD_BUILTINS([a52tofloat32])
2254         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2255         VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2256         ],[
2257         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2258         then
2259           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2260         else
2261           AC_MSG_ERROR([the specified tree hasn't been compiled])
2262         fi
2263       ])
2264       LDFLAGS="${LDFLAGS_save}"
2265     else
2266       AC_MSG_RESULT(no)
2267       AC_MSG_ERROR([the specified tree doesn't have a52.h])
2268     fi
2269   else
2270     if test -z "${with_a52}"
2271     then
2272       LDFLAGS_test=""
2273       CPPFLAGS_test=""
2274     else
2275       LDFLAGS_test="-L${with_a52}/lib"
2276       CPPFLAGS_test="-I${with_a52}/include"
2277     fi
2278     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2279     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2280     AC_CHECK_HEADERS(a52dec/a52.h, [
2281       AC_CHECK_LIB(a52, a52_free, [
2282         VLC_ADD_PLUGINS([a52tofloat32])
2283         VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2284         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2285       ],[
2286         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.])
2287       ])
2288     ])
2289     CPPFLAGS="${CPPFLAGS_save}"
2290     LDFLAGS="${LDFLAGS_save}"
2291   fi
2292 fi
2293
2294 dnl
2295 dnl DTS Coherent Acoustics decoder plugin
2296 dnl
2297 AC_ARG_ENABLE(dts,
2298   [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
2299 if test "${enable_dts}" != "no"; then
2300   AC_ARG_WITH(dts-tree,
2301     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
2302   if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2303   then
2304     real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2305     if test -z "${real_dts_tree}"
2306     then
2307       dnl  The given directory can't be found
2308       AC_MSG_RESULT(no)
2309       AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2310     fi
2311     dnl  Use a custom libdts
2312     AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2313     if test -f ${real_dts_tree}/include/dts.h
2314     then
2315       AC_MSG_RESULT(yes)
2316       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2317       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2318       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2319       AC_CHECK_LIB(dts_pic, dts_free, [
2320         VLC_ADD_PLUGINS([dtstofloat32])
2321         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2322         ],[
2323         AC_CHECK_LIB(dts, dts_free, [
2324           VLC_ADD_BUILTINS([dtstofloat32])
2325           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2326           ],[
2327           if test -f ${real_dts_tree}/libdts/libdts.a
2328           then
2329             AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2330           else
2331             AC_MSG_ERROR([the specified tree hasn't been compiled])
2332           fi
2333         ])
2334       ])
2335       LDFLAGS="${LDFLAGS_save}"
2336     else
2337       AC_MSG_RESULT(no)
2338       AC_MSG_ERROR([the specified tree doesn't have dts.h])
2339     fi
2340   else
2341     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2342     AC_CHECK_HEADERS(dts.h, [
2343       AC_CHECK_LIB(dts_pic, dts_free, [
2344         VLC_ADD_PLUGINS([dtstofloat32])
2345         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2346       ],[
2347         AC_CHECK_LIB(dts, dts_free, [
2348           VLC_ADD_BUILTINS([dtstofloat32])
2349           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2350         ],[
2351           if test "${enable_dts}" = "yes"; then
2352             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2353           fi
2354         ])
2355       ])
2356     ])
2357     LDFLAGS="${LDFLAGS_save}"
2358   fi
2359 fi
2360
2361 dnl
2362 dnl  Flac plugin
2363 dnl
2364 AC_ARG_ENABLE(flac,
2365   [  --enable-flac           flac decoder support (default disabled)])
2366 if test "${enable_flac}" = "yes"
2367 then
2368   AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2369     VLC_ADD_PLUGINS([flac flacdec])
2370     VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2371    ],[])
2372 fi
2373
2374 dnl
2375 dnl  Libmpeg2 plugin
2376 dnl
2377 AC_ARG_ENABLE(libmpeg2,
2378   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
2379 if test "${enable_libmpeg2}" != "no"
2380 then
2381   AC_ARG_WITH(libmpeg2-tree,
2382   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2383   if test -n "${with_libmpeg2_tree}"
2384   then
2385     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2386     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2387     if test -z "${real_libmpeg2_tree}"
2388     then
2389       dnl  The given directory can't be found
2390       AC_MSG_RESULT(no)
2391       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2392     fi
2393     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2394     then
2395       dnl  Use a custom libmpeg2
2396       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2397       VLC_ADD_PLUGINS([libmpeg2])
2398       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2399       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2400       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2401     else
2402       dnl  The given libmpeg2 wasn't built
2403       AC_MSG_RESULT(no)
2404       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2405     fi
2406   else
2407     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2408       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2409       AC_EGREP_CPP(yes,
2410         [#include <mpeg2dec/mpeg2.h>
2411          #ifdef MPEG2_RELEASE
2412          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2413          yes
2414          #endif
2415          #endif],
2416         [AC_MSG_RESULT([yes])
2417           VLC_ADD_PLUGINS([libmpeg2])
2418           VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2419         [AC_MSG_RESULT([no])
2420           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.])])],
2421
2422       [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.])]
2423     )
2424   fi
2425 fi
2426
2427 dnl
2428 dnl  Vorbis plugin
2429 dnl
2430 AC_ARG_ENABLE(vorbis,
2431   [  --enable-vorbis         Vorbis decoder support (default enabled)])
2432 if test "${enable_vorbis}" != "no"
2433 then
2434   AC_CHECK_HEADERS(vorbis/codec.h, [
2435     VLC_ADD_PLUGINS([vorbis])
2436     VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
2437
2438   AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
2439     VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
2440 fi
2441
2442 dnl
2443 dnl  Tremor plugin
2444 dnl
2445 AC_ARG_ENABLE(tremor,
2446   [  --enable-tremor         Tremor decoder support (default disabled)])
2447 if test "${enable_tremor}" = "yes"
2448 then
2449   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2450     VLC_ADD_PLUGINS([tremor])
2451     VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
2452    ],[])
2453 fi
2454
2455 dnl
2456 dnl  Speex plugin
2457 dnl
2458 AC_ARG_ENABLE(speex,
2459   [  --enable-speex          Speex decoder support (default enabled)])
2460 if test "${enable_speex}" != "no"
2461 then
2462   AC_CHECK_HEADERS(speex/speex.h, [
2463     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}"
2464     AC_CHECK_LIB(speex, speex_decode_int, [
2465       VLC_ADD_PLUGINS([speex])
2466       VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
2467       [ AC_MSG_RESULT([no])
2468         AC_MSG_WARN([Your libspeex is too old, please get the development
2469                      version.]) ],[])
2470     LDFLAGS="${LDFLAGS_save}"
2471     ],[])
2472 fi
2473
2474 dnl
2475 dnl  tarkin decoder plugin
2476 dnl
2477 AC_ARG_ENABLE(tarkin,
2478 [  --enable-tarkin         experimental tarkin codec (default disabled)])
2479 if test "${enable_tarkin}" = "yes"
2480 then
2481   AC_ARG_WITH(tarkin-tree,
2482   [    --with-tarkin-tree=PATH tarkin tree for static linking])
2483   if test -n "${with_tarkin_tree}"
2484   then
2485     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
2486     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
2487     if test -f "${real_tarkin_tree}/tarkin.o"
2488     then
2489       VLC_ADD_BUILTINS([tarkin])
2490       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
2491       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])
2492       AC_MSG_RESULT(yes)
2493     else
2494       dnl  The given tarkin tree wasn't built
2495       AC_MSG_RESULT(no)
2496       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
2497                     make sure you compiled tarkin in ${with_tarkin_tree}])
2498     fi
2499   fi
2500 fi
2501
2502 dnl
2503 dnl  theora decoder plugin
2504 dnl
2505 AC_ARG_ENABLE(theora,
2506 [  --enable-theora         experimental theora codec (default disabled)])
2507 if test "${enable_theora}" = "yes"
2508 then
2509   AC_CHECK_HEADERS(theora/theora.h, [
2510     AC_CHECK_LIB(theora, theora_granule_time, [
2511       if test "${SYS}" = "mingw32"; then
2512         VLC_ADD_PLUGINS([theora])
2513       else
2514         VLC_ADD_BUILTINS([theora])
2515       fi
2516       theora_libs="-ltheora -logg"
2517       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
2518       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
2519 You also need to check that you have a libogg posterior to the 1.0 release.])],
2520       [-logg])
2521   ])
2522 fi
2523
2524 dnl
2525 dnl  dirac decoder plugin
2526 dnl
2527 AC_ARG_ENABLE(dirac,
2528 [  --enable-dirac          experimental dirac codec (default disabled)])
2529 if test "${enable_dirac}" = "yes"; then
2530   AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
2531     AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
2532       VLC_ADD_PLUGINS([dirac])
2533       VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
2534       AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
2535       [-lstdc++])
2536   ])
2537 fi
2538
2539 dnl
2540 dnl  PNG decoder module
2541 dnl
2542 AC_ARG_ENABLE(png,
2543   [  --enable-png            PNG support (default enabled)])
2544 if test "${enable_png}" != "no"; then
2545 AC_CHECK_HEADERS(png.h, [
2546   LDFLAGS="${LDFLAGS_save} -lz"
2547   AC_CHECK_LIB(png, png_set_rows, [
2548     VLC_ADD_LDFLAGS([png],[-lpng -lz])
2549     VLC_ADD_PLUGINS([png])
2550     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
2551     [],[-lz])
2552   LDFLAGS="${LDFLAGS_save}"
2553   ])
2554 fi
2555
2556 dnl
2557 dnl H264 encoder plugin (using libx264)
2558 dnl
2559 AC_ARG_ENABLE(x264,
2560   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
2561 if test "${enable_x264}" != "no"; then
2562   AC_ARG_WITH(x264-tree,
2563     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
2564   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2565   then
2566     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2567     if test -z "${real_x264_tree}"
2568     then
2569       dnl  The given directory can't be found
2570       AC_MSG_RESULT(no)
2571       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2572     fi
2573     dnl  Use a custom libx264
2574     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2575     if test -f ${real_x264_tree}/x264.h
2576     then
2577       AC_MSG_RESULT(yes)
2578       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2579       VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
2580       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2581       AC_CHECK_LIB(x264, x264_encoder_open, [
2582         VLC_ADD_BUILTINS([x264])
2583         VLC_ADD_LDFLAGS([x264],[-lx264])
2584       ],[
2585         AC_MSG_ERROR([the specified tree hasn't been compiled])
2586       ])
2587       LDFLAGS="${LDFLAGS_save}"
2588     else
2589       AC_MSG_RESULT(no)
2590       AC_MSG_ERROR([the specified tree doesn't have x264.h])
2591     fi
2592   else
2593     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2594     AC_CHECK_HEADERS(x264.h, [
2595       AC_CHECK_LIB(x264, x264_encoder_open, [
2596         VLC_ADD_PLUGINS([x264])
2597         VLC_ADD_LDFLAGS([x264],[-lx264])
2598       ],[
2599         if test "${enable_x264}" = "yes"; then
2600             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
2601           fi
2602       ])
2603     ])
2604     LDFLAGS="${LDFLAGS_save}"
2605   fi
2606 fi
2607
2608 dnl
2609 dnl  CMML plugin
2610 dnl
2611 AC_ARG_ENABLE(cmml,
2612   [  --enable-cmml           CMML support (default enabled)])
2613 if test "${enable_cmml}" != "no"
2614 then
2615   VLC_ADD_PLUGINS([cmml])
2616 fi
2617
2618
2619 dnl
2620 dnl  Video plugins
2621 dnl
2622
2623 AC_ARG_WITH(,[Video plugins:])
2624
2625 dnl Check for DPMS
2626 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
2627   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2628   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
2629     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
2630     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
2631       AC_MSG_RESULT(yes)
2632       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
2633                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
2634     ],[
2635       AC_MSG_RESULT(no)
2636     ])
2637   ],,[
2638     #include <X11/Xlib.h>
2639   ])
2640   CPPFLAGS="${CPPFLAGS_save}"
2641 fi
2642
2643 dnl
2644 dnl  X11 module
2645 dnl  (enabled by default except on win32)
2646 dnl
2647 AC_ARG_ENABLE(x11,
2648   [  --enable-x11            X11 support (default enabled)])
2649 if test "${enable_x11}" != "no" &&
2650   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2651    test "${enable_x11}" = "yes"); then
2652   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2653   AC_CHECK_HEADERS(X11/Xlib.h, [
2654     VLC_ADD_PLUGINS([x11])
2655     VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
2656     VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
2657   ])
2658   CPPFLAGS="${CPPFLAGS_save}"
2659 fi
2660
2661 dnl
2662 dnl  XVideo module
2663 dnl  (enabled by default except on win32)
2664 dnl
2665 AC_ARG_ENABLE(xvideo,
2666   [  --enable-xvideo         XVideo support (default enabled)])
2667 if test "${enable_xvideo}" != "no" &&
2668   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2669    test "${enable_xvideo}" = "yes"); then
2670   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2671   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
2672     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2673     AC_CHECK_LIB(Xv,XvPutImage,[
2674       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
2675       # test for libXv_pic.
2676       if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
2677         VLC_ADD_PLUGINS([xvideo])
2678         VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2679         VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2680       else
2681         AC_CHECK_LIB(Xv_pic,XvPutImage,[
2682           VLC_ADD_PLUGINS([xvideo])
2683           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2684           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
2685         ],[
2686           VLC_ADD_BUILTINS([xvideo])
2687           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2688           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2689         ])
2690       fi
2691     ])
2692     CFLAGS="${CFLAGS_save}"
2693   ]
2694   CPPFLAGS="${CPPFLAGS_save}")
2695 fi
2696
2697 dnl
2698 dnl  GLX module
2699 dnl  (enabled by default except on win32)
2700 dnl
2701 AC_ARG_ENABLE(glx,
2702   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
2703 if test "${enable_glx}" != "no" &&
2704   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2705    test "${enable_glx}" = "yes"); then
2706   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2707   AC_CHECK_HEADERS(X11/Xlib.h, [
2708     AC_CHECK_HEADERS(GL/glx.h, [
2709       VLC_ADD_PLUGINS([glx])
2710       VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
2711       VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
2712   ]) ])
2713   CPPFLAGS="${CPPFLAGS_save}"
2714 fi
2715
2716 dnl
2717 dnl  Check for the Xinerama extension
2718 dnl
2719 if test "${enable_xvideo}" != "no" &&
2720   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2721    test "${enable_xvideo}" = "yes"); then
2722   ac_cv_have_xinerama="no"
2723   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2724   CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2725   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
2726     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
2727       VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
2728       VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
2729       VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
2730       ac_cv_have_xinerama="yes"
2731     ],[
2732       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
2733         VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
2734         VLC_ADD_LDFLAGS([x11],[-lXinerama])
2735         VLC_ADD_LDFLAGS([glx],[-lXinerama])
2736         ac_cv_have_xinerama="yes"
2737       ])
2738     ])
2739   ])
2740   if test "${ac_cv_have_xinerama}" = "yes"; then
2741     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
2742   fi
2743   CFLAGS="${CFLAGS_save}"
2744   CPPFLAGS="${CPPFLAGS_save}"
2745 fi
2746
2747 dnl
2748 dnl  OpenGL module
2749 dnl  (enabled by default except on beos)
2750 dnl
2751 AC_ARG_ENABLE(opengl,
2752   [  --enable-opengl         OpenGL support (default enabled)])
2753 if test "${enable_opengl}" != "no" &&
2754    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
2755   if test "${SYS}" != "darwin"; then
2756     AC_CHECK_HEADERS(GL/gl.h, [
2757       VLC_ADD_PLUGINS([opengl])
2758       if test "${SYS}" != "mingw32"; then
2759         VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
2760       else
2761         VLC_ADD_LDFLAGS([opengl],[-lopengl32])
2762       fi
2763     ])
2764   else
2765     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
2766     VLC_ADD_PLUGINS([opengl])
2767     VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
2768   fi
2769 fi
2770
2771 dnl
2772 dnl  SDL module
2773 dnl
2774 AC_ARG_ENABLE(sdl,
2775   [  --enable-sdl            SDL support (default enabled)])
2776 if test "${enable_sdl}" != "no"
2777 then
2778   SDL_PATH="${PATH}"
2779   AC_ARG_WITH(sdl-config-path,
2780     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
2781     [ if test "${with_sdl_config_path}" != "no"
2782       then
2783         SDL_PATH="${with_sdl_config_path}:${PATH}"
2784       fi ])
2785   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
2786   SDL_CONFIG="${SDL12_CONFIG}"
2787   SDL_HEADER="SDL12/SDL.h"
2788   if test "${SDL_CONFIG}" = "no"
2789   then
2790     AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
2791     SDL_CONFIG=${SDL11_CONFIG}
2792     SDL_HEADER="SDL11/SDL.h"
2793   fi
2794   if test "${SDL_CONFIG}" = "no"
2795   then
2796     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
2797     SDL_HEADER="SDL/SDL.h"
2798   fi
2799   # check for cross-compiling
2800   SDL_PREFIX=
2801   AC_ARG_WITH(sdl-prefix,
2802     [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
2803                                e.g use as:
2804                                --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
2805   if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
2806   then
2807     SDL_PREFIX="--prefix=${with_sdl_prefix}"
2808   fi
2809   if test "${SDL_CONFIG}" != "no"
2810   then
2811     VLC_ADD_PLUGINS([vout_sdl aout_sdl])
2812     VLC_ADD_CFLAGS([vout_sdl aout_sdl],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
2813     VLC_ADD_LDFLAGS([vout_sdl aout_sdl],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
2814     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
2815     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
2816       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
2817       [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
2818           As a last resort we also test for SDL.h presence),
2819       [ AC_MSG_ERROR([The development package for SDL is not installed.
2820 Please install it and try again. Alternatively you can also configure with
2821 --disable-sdl.])
2822       ])])
2823     CPPFLAGS="${CPPFLAGS_save}"
2824     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
2825     then
2826       AC_MSG_ERROR([The development package for SDL is not installed.
2827 Please install it and try again. Alternatively you can also configure with
2828 --disable-sdl.])
2829     fi
2830   elif test "${enable_sdl}" =  "yes"
2831   then
2832     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
2833 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
2834     ])
2835   fi
2836 fi
2837
2838 dnl
2839 dnl  freetype module
2840 dnl
2841 AC_ARG_ENABLE(freetype,
2842   [  --enable-freetype       freetype support (default enabled)])
2843 AC_ARG_ENABLE(fribidi,
2844   [  --enable-fribidi        fribidi support (default enabled)])
2845 if test "${enable_freetype}" != "no"
2846 then
2847   FREETYPE_PATH="${PATH}"
2848   AC_ARG_WITH(freetype-config-path,
2849     [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
2850     [ if test "${with_freetype_config_path}" != "no"
2851       then
2852         FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
2853       fi ])
2854   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
2855
2856   if test "${FREETYPE_CONFIG}" != "no"
2857   then
2858     VLC_ADD_PLUGINS([freetype])
2859     VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
2860     VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
2861     AC_CHECK_HEADERS(Carbon/Carbon.h,
2862       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
2863   elif test "${enable_freetype}" =  "yes"
2864   then
2865     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
2866 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
2867     ])
2868   fi
2869
2870   dnl fribidi support
2871   if test "${enable_fribidi}" != "no"
2872   then
2873     FRIBIDI_PATH="${PATH}"
2874     AC_ARG_WITH(fribidi-config-path,
2875       [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
2876       [ if test "${with_fribidi_config_path}" != "no"
2877         then
2878           FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
2879         fi ])
2880     AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
2881
2882     if test "${FRIBIDI_CONFIG}" != "no"
2883     then
2884       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
2885       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
2886     fi
2887   fi
2888 fi
2889
2890 dnl
2891 dnl  libxml2 module
2892 dnl
2893 AC_ARG_ENABLE(libxml2,
2894   [  --enable-libxml2        libxml2 support (default enabled)])
2895 if test "${enable_libxml2}" != "no"
2896 then
2897   XML2_PATH="${PATH}"
2898   AC_ARG_WITH(xml2-config-path,
2899     [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
2900     [ if test "${with_xml2_config_path}" != "no"; then
2901         XML2_PATH="${with_xml2_config_path}:${PATH}"
2902       fi ])
2903   AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
2904   if test "${XML2_CONFIG}" != "no"; then
2905     VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
2906     VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
2907     dnl depends on the xmlTextReader extension
2908     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
2909     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
2910     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
2911       AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
2912         VLC_ADD_PLUGINS([xml]) ],[
2913           AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
2914           if test "${enable_xml2}" = "yes"; then
2915             AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
2916           fi])
2917        ],[
2918       AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
2919       if test "${enable_xml2}" = "yes"; then
2920         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
2921       fi])
2922     LDFLAGS="${LDFLAGS_save}"
2923     CPPFLAGS="${CPPFLAGS_save}"
2924   else
2925     if test "${enable_xml2}" = "yes"; then
2926       AC_MSG_ERROR([Could not find libxml2])
2927     fi
2928   fi
2929 fi
2930
2931 dnl
2932 dnl  SVG module
2933 dnl
2934 AC_ARG_ENABLE(svg,
2935   [  --enable-svg            SVG support (default disabled)])
2936 if test "${enable_svg}" == "yes"
2937 then
2938   PKG_CHECK_MODULES(SVG, 
2939         librsvg-2.0 >= 2.5.0,
2940         [
2941           VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
2942           VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
2943           VLC_ADD_PLUGINS([svg]) ],
2944         [AC_MSG_WARN(SVG library not found)])
2945 fi
2946
2947 dnl
2948 dnl  Qt Embedded module
2949 dnl  (disabled by default)
2950 dnl
2951 AC_ARG_ENABLE(qte,
2952   [  --enable-qte            QT Embedded support (default disabled)])
2953 if test "${enable_qte}" = "yes"
2954 then
2955   AC_ARG_WITH(qte,
2956   [    --with-qte=PATH       Qt Embedded headers and libraries])
2957   if test "${with_qte}" != "no" -a -n "${with_qte}"
2958   then
2959     VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
2960     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])
2961   else
2962     VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
2963     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
2964   fi
2965   VLC_ADD_PLUGINS([qte])
2966   NEED_QTE_MAIN=yes
2967   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
2968   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
2969     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
2970   ] )
2971   CPPFLAGS="${CPPFLAGS_save}"
2972 fi
2973
2974 dnl
2975 dnl  Qt Video output module
2976 dnl  (disabled by default)
2977 dnl
2978 dnl AC_ARG_ENABLE(qt_video,
2979 dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
2980 dnl if test "${enable_qt_video}" = "yes"
2981 dnl then
2982 dnl  VLC_ADD_PLUGINS([qt_video])
2983 dnl  VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
2984 dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
2985 dnl   AC_CHECK_LIB(qt-mt,main,[
2986 dnl    VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
2987 dnl  ],[
2988 dnl    AC_CHECK_LIB(qt,main,[
2989 dnl      VLC_ADD_LDFLAGS([qt_video],[-lqt])
2990 dnl    ])
2991 dnl  ])
2992 dnl  NEED_QTE_MAIN=yes
2993 dnl  LDFLAGS="${LDFLAGS_save}"
2994 dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
2995 dnl fi
2996
2997 dnl
2998 dnl Roku HD1000 Video output module
2999 dnl
3000 AC_ARG_ENABLE(hd1000v,
3001   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3002 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3003   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3004    test "${enable_hd1000v}" = "yes"); then
3005   AC_LANG_PUSH([C++])
3006   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3007   [
3008     can_build_roku="yes"
3009   ],
3010   [
3011     can_build_roku="no"
3012     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3013   ])
3014   if test "$can_build_roku" = "yes"
3015   then
3016     VLC_ADD_PLUGINS([hd1000v])
3017     VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3018   fi
3019   AC_LANG_POP([C++])
3020 fi
3021
3022 dnl
3023 dnl  Windows DirectX module
3024 dnl
3025 AC_ARG_ENABLE(directx,
3026   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3027 if test "${enable_directx}" != "no"
3028 then
3029   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3030   then
3031     AC_ARG_WITH(directx,
3032     [    --with-directx=PATH   Win32 DirectX headers])
3033     if test -z "${with_directx}"
3034     then
3035       AC_CHECK_HEADERS(ddraw.h,
3036       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3037         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3038         dnl to be moved when dependance is removed
3039         AC_CHECK_HEADERS(GL/gl.h, [
3040             VLC_ADD_PLUGINS([glwin32])
3041             VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3042         ]) ])
3043     else
3044       AC_MSG_CHECKING(for directX headers in ${with_directx})
3045       if test -f ${with_directx}/ddraw.h
3046       then
3047         VLC_ADD_PLUGINS([vout_directx aout_directx])
3048         VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3049         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3050         AC_MSG_RESULT(yes)
3051       else
3052         AC_MSG_RESULT(no)
3053         AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3054       fi
3055     fi
3056   fi
3057 fi
3058
3059 dnl
3060 dnl  Linux framebuffer module
3061 dnl
3062 AC_ARG_ENABLE(fb,
3063   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3064     if test "${enable_fb}" != "no"
3065     then
3066       AC_CHECK_HEADERS(linux/fb.h, [
3067         VLC_ADD_PLUGINS([fb])
3068       ])
3069     fi
3070
3071 dnl
3072 dnl  Linux MGA module
3073 dnl
3074 AC_ARG_ENABLE(mga,
3075   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3076   [ if test "${enable_mga}" = "yes"
3077     then
3078       VLC_ADD_PLUGINS([mga])
3079     fi ])
3080
3081 dnl
3082 dnl  SVGAlib module
3083 dnl
3084 AC_ARG_ENABLE(svgalib,
3085   [  --enable-svgalib        SVGAlib support (default disabled)])
3086 if test "${enable_svgalib}" = "yes"
3087 then
3088   VLC_ADD_PLUGINS([svgalib])
3089   VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3090 fi
3091
3092 dnl
3093 dnl  GGI module
3094 dnl
3095 AC_ARG_ENABLE(ggi,
3096   [  --enable-ggi            GGI support (default disabled)])
3097 if test "${enable_ggi}" = "yes"
3098 then
3099   VLC_ADD_PLUGINS([ggi])
3100   VLC_ADD_LDFLAGS([ggi],[-lggi])
3101   AC_ARG_WITH(ggi,
3102     [    --with-ggi=PATH       path to libggi],
3103     [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3104       then
3105         VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3106         VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3107       fi ])
3108 fi
3109
3110 dnl
3111 dnl  Glide module
3112 dnl
3113 AC_ARG_ENABLE(glide,
3114   [  --enable-glide          Glide (3dfx) support (default disabled)])
3115 if test "${enable_glide}" = "yes"
3116 then
3117   VLC_ADD_PLUGINS([glide])
3118   VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3119   VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3120   AC_ARG_WITH(glide,
3121     [    --with-glide=PATH     path to libglide],
3122     [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3123       then
3124         VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3125         VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3126       fi ])
3127 fi
3128
3129 dnl
3130 dnl  AA plugin
3131 dnl
3132 AC_ARG_ENABLE(aa,
3133   [  --enable-aa             aalib output (default disabled)])
3134 if test "${enable_aa}" = "yes"
3135 then
3136   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3137   if test "${have_aa}" = "true"
3138   then
3139     VLC_ADD_PLUGINS([aa])
3140     VLC_ADD_LDFLAGS([aa],[-laa])
3141   fi
3142 fi
3143
3144 dnl
3145 dnl  libcaca plugin
3146 dnl
3147 AC_ARG_ENABLE(caca,
3148   [  --enable-caca           libcaca output (default disabled)])
3149 if test "${enable_caca}" = "yes"
3150 then
3151   CACA_PATH="${PATH}"
3152   AC_ARG_WITH(caca-config-path,
3153     [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3154     [ if test "${with_caca_config_path}" != "no"
3155       then
3156         CACA_PATH="${with_caca_config_path}:${PATH}"
3157       fi ])
3158   AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3159   if test "${CACA_CONFIG}" != "no"
3160   then
3161     VLC_ADD_PLUGINS([caca])
3162     VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3163     VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3164   fi
3165 fi
3166
3167 dnl
3168 dnl  win32 GDI plugin
3169 dnl
3170 AC_ARG_ENABLE(wingdi,
3171   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3172 if test "${enable_wingdi}" != "no"; then
3173   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3174     VLC_ADD_PLUGINS([wingdi])
3175     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3176   fi
3177   if test "${SYS}" = "mingwce"; then
3178     VLC_ADD_PLUGINS([wingdi])
3179   fi
3180 fi
3181
3182 dnl
3183 dnl  Audio plugins
3184 dnl
3185
3186 AC_ARG_WITH(,[Audio plugins:])
3187
3188 dnl
3189 dnl  OSS /dev/dsp module (enabled by default except on win32)
3190 dnl
3191 AC_ARG_ENABLE(oss,
3192   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
3193
3194 if test "${enable_oss}" != "no" &&
3195   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3196    test "${enable_oss}" = "yes")
3197 then
3198   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3199     VLC_ADD_PLUGINS([oss])
3200     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3201   ])
3202 fi
3203
3204 dnl
3205 dnl  Esound module
3206 dnl
3207 AC_ARG_ENABLE(esd,
3208   [  --enable-esd            Esound library support (default disabled)],
3209   [if test "${enable_esd}" = "yes"
3210    then
3211      AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3212      if test "${ESD_CONFIG}" != "no"
3213      then
3214        VLC_ADD_PLUGINS([esd])
3215        VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3216        VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3217      fi
3218    fi])
3219
3220 dnl
3221 dnl  Portaudio module
3222 dnl
3223 AC_ARG_ENABLE(portaudio,
3224   [  --enable-portaudio      Portaudio library support (default disabled)],
3225   [if test "${enable_portaudio}" = "yes"
3226    then
3227      VLC_ADD_PLUGINS([portaudio])
3228      VLC_ADD_CXXFLAGS([portaudio],[])
3229      if test "${SYS}" = "mingw32"; then
3230         VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3231      else
3232         VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3233      fi
3234    fi])
3235
3236 dnl
3237 dnl  aRts module
3238 dnl
3239 AC_ARG_ENABLE(arts,
3240   [  --enable-arts           aRts sound server (default disabled)],
3241   [if test "${enable_arts}" = "yes"
3242    then
3243      AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3244      if test "${ARTS_CONFIG}" != "no"
3245      then
3246        VLC_ADD_PLUGINS([arts])
3247        VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3248        VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3249      fi
3250    fi])
3251
3252 dnl
3253 dnl  ALSA module
3254 dnl
3255 AC_ARG_ENABLE(alsa,
3256   [  --enable-alsa           ALSA sound support for Linux (default enabled)],
3257   [if test "${enable_alsa}" != "no"
3258    then
3259      AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3260      if test "${have_alsa}" = "true"
3261      then
3262        AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3263                        #define ALSA_PCM_NEW_SW_PARAMS_API
3264                        #include <alsa/asoundlib.h>],
3265           [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3266            AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3267        VLC_ADD_PLUGINS([alsa])
3268        VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3269      else
3270        if test "${enable_alsa}" = "yes"; then
3271          AC_MSG_ERROR([Could not find ALSA development headers])
3272        fi
3273      fi
3274    fi])
3275
3276 dnl
3277 dnl  win32 waveOut plugin
3278 dnl
3279 AC_ARG_ENABLE(waveout,
3280   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
3281 if test "${enable_waveout}" != "no"; then
3282   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3283     VLC_ADD_PLUGINS([waveout])
3284     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3285   fi
3286   if "${SYS}" = "mingwce"; then
3287     VLC_ADD_PLUGINS([waveout])
3288   fi
3289 fi
3290
3291 dnl
3292 dnl  CoreAudio plugin
3293 dnl
3294 AC_ARG_ENABLE(coreaudio,
3295   [  --enable-coreaudio      CoreAudio module (default enabled on MacOS X)])
3296 if test "${enable_coreaudio}" != "no" &&
3297   (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3298 then
3299   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
3300     [ VLC_ADD_BUILTINS([coreaudio])
3301       VLC_ADD_LDFLAGS([coreaudio],[-framework CoreAudio])
3302       AC_MSG_CHECKING(for kAudioConverterPrimeMethod in AudioToolbox/AudioConverter.h)
3303       AC_EGREP_HEADER(kAudioConverterPrimeMethod,AudioToolbox/AudioConverter.h,[
3304         AC_MSG_RESULT(yes)
3305         VLC_ADD_PLUGINS([coreaudio_resampler])
3306         VLC_ADD_LDFLAGS([coreaudio_resampler],[-framework AudioToolbox])
3307       ],[ AC_MSG_RESULT(no) ])
3308     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3309 fi
3310
3311 dnl
3312 dnl  Roku HD1000 audio
3313 dnl
3314 AC_ARG_ENABLE(hd1000a,
3315   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
3316 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3317   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3318    test "${enable_hd1000a}" = "yes")
3319 then
3320   AC_LANG_PUSH([C++])
3321   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3322     VLC_ADD_PLUGINS([hd1000a])
3323     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
3324   AC_LANG_POP([C++])
3325 fi
3326
3327 dnl
3328 dnl  Interface plugins
3329 dnl
3330
3331 AC_ARG_WITH(,[Interface plugins:])
3332
3333 dnl special case for BeOS
3334 if test "${SYS}" = "beos"
3335 then
3336     VLC_ADD_BUILTINS([beos])
3337 fi
3338
3339 dnl
3340 dnl Skins2 module
3341 dnl
3342 AC_ARG_ENABLE(skins2,
3343   [  --enable-skins2         Skins2 interface module (experimental)])
3344 if test "${enable_skins2}" = "yes" ||
3345   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
3346    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
3347
3348   dnl test for the required libraries
3349   skins2_missing_lib="no"
3350
3351   dnl freetype
3352   if test "${FREETYPE_CONFIG}" != "no"; then
3353     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
3354     VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
3355   else
3356     skins2_missing_lib="yes"
3357     if test "${enable_skins2}" = "yes"; then
3358       AC_MSG_ERROR([Could not find freetype (required for skins2)])
3359     fi
3360   fi
3361
3362   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
3363     VLC_ADD_PLUGINS([skins2])
3364     ALIASES="${ALIASES} svlc"
3365     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3366     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3367     VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
3368
3369   else if test "${skins2_missing_lib}" = "no"; then
3370     VLC_ADD_PLUGINS([skins2])
3371     ALIASES="${ALIASES} svlc"
3372     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
3373     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3374     VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
3375   fi fi
3376 fi
3377
3378
3379 dnl dnl
3380 dnl dnl  Gtk+ module
3381 dnl dnl
3382 dnl AC_ARG_ENABLE(gtk,
3383 dnl   [  --enable-gtk            Gtk+ support (default enabled)])
3384 dnl if test "${enable_gtk}" != "no"
3385 dnl then
3386 dnl   GTK_PATH="${PATH}"
3387 dnl   AC_ARG_WITH(gtk-config-path,
3388 dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
3389 dnl     [ if test "${with_gtk_config_path}" != "no"
3390 dnl       then
3391 dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
3392 dnl       fi ])
3393 dnl   # look for gtk-config
3394 dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
3395 dnl   GTK_CONFIG=${GTK12_CONFIG}
3396 dnl   if test "${GTK_CONFIG}" = "no"
3397 dnl   then
3398 dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
3399 dnl   fi
3400 dnl   if test "${GTK_CONFIG}" != "no"
3401 dnl   then
3402 dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
3403 dnl     then
3404 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.])
3405 dnl     fi
3406 dnl     if test "${SYS}" != "mingw32"; then
3407 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
3408 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
3409 dnl     else
3410 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
3411 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
3412 dnl     fi
3413 dnl     # now look for the gtk.h header
3414 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
3415 dnl     ac_cv_gtk_headers=yes
3416 dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
3417 dnl       ac_cv_gtk_headers=no
3418 dnl       echo "Cannot find gtk development headers."
3419 dnl     ])
3420 dnl     if test "${ac_cv_gtk_headers}" = "yes"
3421 dnl     then
3422 dnl       VLC_ADD_PLUGINS([gtk])
3423 dnl       if test "${SYS}" != "mingw32"; then
3424 dnl         NEED_GTK_MAIN=yes
3425 dnl       fi
3426 dnl       ALIASES="${ALIASES} gvlc"
3427 dnl     fi
3428 dnl     CPPFLAGS="${CPPFLAGS_save}"
3429 dnl   fi
3430 dnl fi
3431 dnl 
3432 dnl
3433 dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
3434 dnl
3435 dnl AC_ARG_ENABLE(gtk2,
3436 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
3437 dnl if test "${enable_gtk2}" = "yes"
3438 dnl then
3439 dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3440 dnl   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3441 dnl   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3442 dnl   VLC_ADD_PLUGINS([gtk2])
3443 dnl   if test "${SYS}" != "mingw32"; then
3444 dnl     NEED_GTK2_MAIN=yes
3445 dnl   fi
3446 dnl fi
3447
3448 dnl
3449 dnl  PDA Gtk+2 module
3450 dnl
3451 AC_ARG_ENABLE(pda,
3452   [  --enable-pda            PDA interface needs Gtk2 support (default disabled)])
3453 if test "${enable_pda}" = "yes"
3454 then
3455   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3456   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3457   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3458   VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
3459   VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
3460   VLC_ADD_PLUGINS([pda])
3461   if test "${SYS}" != "mingw32"; then
3462     NEED_GTK2_MAIN=yes
3463   fi
3464 fi
3465
3466 dnl dnl
3467 dnl dnl  Gnome module
3468 dnl dnl
3469 dnl AC_ARG_ENABLE(gnome,
3470 dnl   [  --enable-gnome          Gnome interface support (default disabled)],
3471 dnl   [if test "${enable_gnome}" = "yes"; then
3472 dnl     # look for gnome-config
3473 dnl     AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
3474 dnl     if test -x ${GNOME_CONFIG}
3475 dnl     then
3476 dnl        VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
3477 dnl        VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
3478 dnl     fi
3479 dnl     # now look for the gnome.h header
3480 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
3481 dnl     AC_CHECK_HEADERS(gnome.h, [
3482 dnl       VLC_ADD_PLUGINS([gnome])
3483 dnl       NEED_GTK_MAIN=yes
3484 dnl       NEED_GNOME_MAIN=yes
3485 dnl       ALIASES="${ALIASES} gnome-vlc"
3486 dnl       dnl We need this because of some moronic gnomesupport.h flavours
3487 dnl       AC_MSG_CHECKING(for strndup in gnome.h)
3488 dnl       AC_EGREP_HEADER(strndup,gnome.h,[
3489 dnl         AC_MSG_RESULT(yes)
3490 dnl         AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
3491 dnl                   Define if <gnome.h> defines strndup.)],[
3492 dnl         AC_MSG_RESULT(no)])
3493 dnl      ],[
3494 dnl       AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
3495 dnl developement tools or remove the --enable-gnome option])
3496 dnl      ])
3497 dnl     CPPFLAGS="${CPPFLAGS_save}"
3498 dnl   fi])
3499
3500 dnl
3501 dnl  Gnome2 module ! Disabled for know as it is unuseable and confuses users
3502 dnl
3503 dnl AC_ARG_ENABLE(gnome2,
3504 dnl   [  --enable-gnome2         Gnome2 support (default disabled)])
3505 dnl if test "${enable_gnome2}" = "yes"
3506 dnl then
3507 dnl   PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
3508 dnl   VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
3509 dnl   VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
3510 dnl   VLC_ADD_PLUGINS([gnome2])
3511 dnl   if test "${SYS}" != "mingw32"; then
3512 dnl     NEED_GNOME2_MAIN=yes
3513 dnl   fi
3514 dnl fi
3515
3516 dnl
3517 dnl  wxWindows module
3518 dnl
3519 AC_ARG_ENABLE(wxwindows,
3520   [  --enable-wxwindows      wxWindows support (default enabled)])
3521 if test "${enable_wxwindows}" != "no"
3522 then
3523   WXWINDOWS_PATH="${PATH}"
3524   AC_ARG_WITH(wx-config-path,
3525     [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
3526     [ if test "${with_wx_config_path}" != "no"
3527       then
3528         WXWINDOWS_PATH="${with_wx_config_path}:${PATH}"
3529       fi ])
3530   # look for wx-config
3531   AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH})
3532   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
3533   then
3534     if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
3535     then
3536       AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.])
3537     fi
3538     AC_LANG_PUSH(C++)
3539     # Turn this error:
3540     #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
3541     # into a warning. However better would be to fix playlist.cpp
3542     AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
3543         [ac_cv_cxx_fpermissive],
3544         [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
3545          AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
3546                         ac_cv_cxx_fpermissive=no)])
3547     if test "${ac_cv_cxx_fpermissive}" = "yes"; then
3548       VLC_ADD_CXXFLAGS([wxwindows],-fpermissive)
3549     fi
3550     VLC_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`])
3551     VLC_ADD_LDFLAGS([wxwindows],[`${WX_CONFIG} --libs`])
3552     # now look for the wxprec.h header
3553     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}"
3554     ac_cv_wx_headers=yes
3555     AC_CHECK_HEADERS(wx/wxprec.h, , [
3556       ac_cv_wx_headers=no
3557       echo "Cannot find wxWindows development headers."
3558     ])
3559     if test "${ac_cv_wx_headers}" = "yes"
3560     then
3561       VLC_ADD_PLUGINS([wxwindows])
3562       ALIASES="${ALIASES} wxvlc"
3563     fi
3564     CPPFLAGS="${CPPFLAGS_save}"
3565     AC_LANG_POP(C++)
3566   fi
3567 fi
3568
3569 dnl
3570 dnl  WinCE GUI module
3571 dnl
3572 if test "${SYS}" = "mingwce"; then
3573   VLC_ADD_PLUGINS([wince])
3574   VLC_ADD_CXXFLAGS([wince],[])
3575   VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
3576 fi
3577
3578 dnl
3579 dnl Simple test for skins2 dependency
3580 dnl
3581 if test "${enable_skins2}" != "no"
3582 then
3583   if test "${WX_CONFIG}" = "no"
3584   then
3585     AC_MSG_ERROR([The skins2 module depends on the wxWindows 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 wxWindows development package or alternatively you can also configure with: --disable-wxwindows --disable-skins2.])
3586   fi
3587 fi
3588
3589 dnl dnl
3590 dnl dnl  Qt module
3591 dnl dnl
3592 dnl AC_ARG_ENABLE(qt,
3593 dnl   [  --enable-qt             Qt interface support (default disabled)],
3594 dnl   [if test "${enable_qt}" = "yes"; then
3595 dnl      VLC_ADD_PLUGINS([qt])
3596 dnl      ALIASES="${ALIASES} qvlc"
3597 dnl      VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
3598 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
3599 dnl      AC_CHECK_LIB(qt-mt,main,[
3600 dnl        VLC_ADD_LDFLAGS([qt],[-lqt-mt])
3601 dnl      ],[
3602 dnl        AC_CHECK_LIB(qt,main,[
3603 dnl          VLC_ADD_LDFLAGS([qt],[-lqt])
3604 dnl        ])
3605 dnl      ])
3606 dnl      LDFLAGS="${LDFLAGS_save}"
3607 dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3608 dnl      if test -x ${QTDIR}/bin/moc
3609 dnl      then
3610 dnl        MOC=${QTDIR}/bin/moc
3611 dnl      else
3612 dnl        MOC=moc
3613 dnl      fi
3614 dnl    fi])
3615 dnl 
3616 dnl dnl
3617 dnl dnl  KDE module
3618 dnl dnl
3619 dnl AC_ARG_ENABLE(kde,
3620 dnl   [  --enable-kde            KDE interface support (default disabled)],
3621 dnl   [if test "${enable_kde}" = "yes"; then
3622 dnl      VLC_ADD_PLUGINS([kde])
3623 dnl      ALIASES="${ALIASES} kvlc"
3624 dnl      VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
3625 dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
3626 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3627 dnl      AC_CHECK_LIB(kfile,main,[
3628 dnl        VLC_ADD_LDFLAGS([kde],[-lkfile])
3629 dnl      ])
3630 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3631 dnl      AC_CHECK_LIB(kdeui,main,[
3632 dnl        VLC_ADD_LDFLAGS([kde],[-lkdeui])
3633 dnl      ])
3634 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3635 dnl      AC_CHECK_LIB(kio,main,[
3636 dnl        VLC_ADD_LDFLAGS([kde],[-lkio])
3637 dnl      ])
3638 dnl      LDFLAGS="${LDFLAGS_save}"
3639 dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
3640 dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
3641 dnl      if test -x ${QTDIR}/bin/moc
3642 dnl      then
3643 dnl        MOC=${QTDIR}/bin/moc
3644 dnl      else
3645 dnl        MOC=moc
3646 dnl      fi
3647 dnl    fi])
3648
3649 dnl
3650 dnl  Opie QT embedded module
3651 dnl
3652 AC_ARG_ENABLE(opie,
3653   [  --enable-opie           Qt embedded interface support (default disabled)],
3654   [if test "${enable_opie}" = "yes"; then
3655      AC_ARG_WITH(qte,
3656      [    --with-qte=PATH       Qt Embedded headers and libraries])
3657      if test "${with_qte}" != "no" -a -n "${with_qte}"
3658      then
3659        VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3660        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])
3661      else
3662        VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
3663        VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
3664      fi
3665      CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3666      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3667        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3668      ] )
3669      CPPFLAGS="${CPPFLAGS_save}"
3670
3671      VLC_ADD_PLUGINS([opie])
3672      NEED_QTE_MAIN=yes
3673      VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
3674      VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
3675      if test "${with_qte}" != "no" -a -n "${with_qte}"
3676      then
3677        MOC=${with_qte}/bin/moc
3678      else
3679        MOC=${QTDIR}/bin/moc
3680      fi
3681    fi])
3682
3683 dnl
3684 dnl  MacOS X module
3685 dnl
3686 AC_ARG_ENABLE(macosx,
3687   [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
3688   [if test "${enable_macosx}" = "yes"
3689    then
3690      VLC_ADD_BUILTINS([macosx])
3691      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3692    fi],
3693   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
3694      VLC_ADD_BUILTINS([macosx])
3695      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3696    )])
3697
3698 dnl
3699 dnl  QNX RTOS module
3700 dnl
3701 AC_ARG_ENABLE(qnx,
3702   [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
3703     if test "${enable_qnx}" != "no"
3704     then
3705       AC_CHECK_HEADERS(Ph.h, [
3706         VLC_ADD_PLUGINS([qnx])
3707         VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
3708       ])
3709     fi
3710
3711 dnl
3712 dnl  ncurses module
3713 dnl
3714 AC_ARG_ENABLE(ncurses,
3715   [  --enable-ncurses        ncurses interface support (default disabled)],
3716   [if test "${enable_ncurses}" = "yes"; then
3717      VLC_ADD_PLUGINS([ncurses])
3718      VLC_ADD_LDFLAGS([ncurses],[-lncurses])
3719    fi])
3720
3721 dnl
3722 dnl  XOSD plugin
3723 dnl
3724 AC_ARG_ENABLE(xosd,
3725   [  --enable-xosd           xosd interface support (default disabled)])
3726 if test "${enable_xosd}" = "yes"
3727 then
3728   AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
3729   AC_CHECK_LIB(xosd,xosd_set_offset,
3730       AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
3731     AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
3732         AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
3733       AC_TRY_COMPILE([#include <xosd.h>],
3734          [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
3735           AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
3736   if test "${have_xosd}" = "true"
3737   then
3738     VLC_ADD_PLUGINS([xosd])
3739     VLC_ADD_LDFLAGS([xosd],[-lxosd])
3740   fi
3741 fi
3742
3743 dnl
3744 dnl Visualisation plugin
3745 dnl
3746 AC_ARG_ENABLE(visual,
3747   [  --enable-visual         visualisation plugin (default enabled)])
3748 if test "${enable_visual}" != "no"
3749 then
3750     VLC_ADD_PLUGINS([visual])
3751 fi
3752
3753 dnl
3754 dnl OpenGL visualisation plugin
3755 dnl
3756 AC_ARG_ENABLE(galaktos,
3757   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
3758 if test "${enable_galaktos}" = "yes"
3759 then
3760   AC_CHECK_HEADERS(GL/gl.h, [
3761     VLC_ADD_PLUGINS([galaktos])
3762     if test "${SYS}" != "mingw32"; then
3763       VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
3764     else
3765       VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
3766     fi
3767   ])
3768 fi
3769
3770 dnl
3771 dnl  goom visualization plugin
3772 dnl
3773 AC_ARG_ENABLE(goom,
3774 [  --enable-goom           goom visualisation plugin (default disabled)])
3775 if test "${enable_goom}" = "yes"
3776 then
3777   AC_ARG_WITH(goom-tree,
3778     [    --with-goom-tree=PATH goom tree for static linking (required)])
3779
3780   dnl
3781   dnl test for --with-goom-tree
3782   dnl
3783   if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
3784     AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
3785     real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
3786     if test -z "${real_goom_tree}"; then
3787       dnl  The given directory can't be found
3788       AC_MSG_RESULT(no)
3789       AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
3790     fi
3791     if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
3792       AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
3793       VLC_ADD_BUILTINS([goom])
3794       VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
3795       VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
3796     else
3797       dnl  The given libgoom2 wasn't built, try to look for the old goom
3798       AC_MSG_RESULT(no)
3799       AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
3800       if test -f "${real_goom_tree}/libgoom.a"; then
3801         AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
3802         VLC_ADD_BUILTINS([goom])
3803         VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
3804         VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
3805       else
3806         dnl  The given libgoom wasn't built
3807         AC_MSG_RESULT(no)
3808         AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
3809       fi
3810     fi
3811   else
3812     AC_CHECK_HEADERS(goom/goom.h, [
3813       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
3814       AC_CHECK_LIB(goom2, goom_init, [
3815         VLC_ADD_PLUGINS([goom])
3816         VLC_ADD_LDFLAGS([goom],[-lgoom2])
3817       ],[
3818         AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
3819       ])
3820       LDFLAGS="${LDFLAGS_save}"
3821     ])
3822   fi
3823 fi
3824
3825 dnl
3826 dnl  SLP access plugin
3827 dnl
3828 AC_ARG_ENABLE(slp,
3829   [  --enable-slp            SLP service discovery support (default disabled)])
3830 if test "${enable_slp}" = "yes"
3831 then
3832   AC_ARG_WITH(slp,
3833   [    --with-slp=PATH       libslp headers and libraries])
3834   if test -z "${with_slp}"
3835   then
3836     AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
3837     if test "${have_slp}" = "true"
3838     then
3839       VLC_ADD_PLUGINS([slp])
3840       VLC_ADD_LDFLAGS([slp],[-lslp])
3841       VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
3842     fi
3843   else
3844     AC_MSG_CHECKING(for slp headers in ${with_slp})
3845     if test -f ${with_slp}/slp.h
3846     then
3847       dnl  Use ${with_slp}/libslp/slp.h
3848       AC_MSG_RESULT(yes)
3849       VLC_ADD_PLUGINS([slp])
3850       VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
3851       VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
3852       VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
3853       AC_DEFINE(HAVE_SLP_H)
3854     else
3855       dnl  No libslp could be found, sorry
3856       AC_MSG_RESULT(no)
3857       AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
3858     fi
3859   fi
3860 fi
3861
3862 dnl
3863 dnl DAAP access plugin and services discovery 
3864 dnl
3865 AC_ARG_ENABLE(daap,
3866   [  --enable-daap                DAAP shares services discovery support (default enabled)])
3867 if test "$enable_daap" != "no"
3868 then
3869    PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
3870       [ VLC_ADD_PLUGINS([daap])
3871        VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
3872        VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
3873       [AC_MSG_WARN(DAAP library not found)])
3874 fi
3875
3876 dnl
3877 dnl  Lirc plugin
3878 dnl
3879 AC_ARG_ENABLE(lirc,
3880   [  --enable-lirc           lirc support (default disabled)])
3881 if test "${enable_lirc}" = "yes"
3882 then
3883   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
3884   if test "${have_lirc}" = "true"
3885   then
3886     VLC_ADD_PLUGINS([lirc])
3887     VLC_ADD_LDFLAGS([lirc],[-llirc_client])
3888   fi
3889 fi
3890
3891 dnl 
3892 dnl  Joystick plugin
3893 dnl
3894 AC_ARG_ENABLE(joystick,
3895   [  --enable-joystick       joystick control (default enabled)])
3896 if test "${enable_joystick}" = "yes"; then
3897   AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
3898 fi
3899
3900 dnl
3901 dnl corba (ORBit) plugin
3902 dnl
3903 dnl Default: do not enable corba
3904 enablecorba=false
3905 AC_ARG_ENABLE(corba,
3906   [  --enable-corba          corba interface support (default disabled)])
3907 if test "${enable_corba}" = "yes"; then
3908       GLIB_VERSION=2.3.2
3909       PKG_CHECK_MODULES(CORBA, 
3910         ORBit-2.0 >= 2.8.0 \
3911         glib-2.0 >= $GLIB_VERSION \
3912         gobject-2.0 >= $GLIB_VERSION \
3913         gthread-2.0 >= $GLIB_VERSION,
3914         [
3915           enablecorba=true
3916           VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
3917           VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
3918           VLC_ADD_PLUGINS([corba snapshot]) ],
3919         [ enablecorba=false
3920           AC_MSG_WARN(corba library not found) ])
3921 fi
3922 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
3923
3924 AC_ARG_WITH(,[Misc options:])
3925
3926 dnl
3927 dnl GnuTLS-based TLS/SSL support
3928 dnl
3929 AC_ARG_WITH(libgnutls-prefix,
3930           [    --with-libgnutls-prefix=PREFIX set prefix where libgnutls is installed],
3931           libgnutls_config_prefix="$withval", libgnutls_config_prefix="")
3932
3933 AS_IF([test x$libgnutls_config_prefix != x],
3934   AS_IF([test x${LIBGNUTLS_CONFIG+set} != xset],
3935     LIBGNUTLS_CONFIG=$libgnutls_config_prefix/bin/libgnutls-config
3936   )
3937 )
3938
3939 if test "x$enable_gnutls" == "xyes"; then
3940   AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no)
3941   no_libgnutls=""
3942
3943   AC_MSG_CHECKING(for libgnutls - version >= 1.0.0)
3944   AS_IF([test "$LIBGNUTLS_CONFIG" = "no"],
3945     no_libgnutls=yes
3946     ,
3947     LIBGNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --cflags`
3948     LIBGNUTLS_LIBS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --libs`
3949     libgnutls_config_version=`$LIBGNUTLS_CONFIG $libgnutls_config_args --version`
3950   )
3951
3952   AS_IF([test "x$no_libgnutls" = x],
3953     AC_MSG_RESULT(yes)
3954     VLC_ADD_CFLAGS([gnutls], [$LIBGNUTLS_CFLAGS])
3955     VLC_ADD_LDFLAGS([gnutls], [$LIBGNUTLS_LIBS])
3956     AC_DEFINE(HAVE_GNUTLS, 1, Define to 1 if you have libgnutls)
3957     ,
3958     AC_MSG_RESULT(no)
3959     LIBGNUTLS_CFLAGS=""
3960     LIBGNUTLS_LIBS=""
3961     AC_MSG_ERROR(gnutls TLS/SSL support cannot be compiled)
3962   )
3963 fi
3964
3965 dnl
3966 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
3967 dnl
3968 dnl  We give the user the opportunity to specify
3969 dnl  --with-words=big or --with-words=little ; otherwise, try to guess
3970 dnl
3971 AC_ARG_WITH(words,
3972   [    --with-words=endianness set endianness (big or little)])
3973   case "${with_words}" in
3974     big)
3975       ac_cv_c_bigendian=yes
3976       ;;
3977     little)
3978       ac_cv_c_bigendian=no
3979       ;;
3980     *)
3981       dnl  Try to guess endianness by matching patterns on a compiled
3982       dnl  binary, by looking for an ASCII or EBCDIC string
3983       AC_CACHE_CHECK([whether the byte order is big-endian],
3984         [ac_cv_c_bigendian],
3985         [ac_cv_c_bigendian="unknown"
3986         [cat >conftest.c <<EOF
3987         short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
3988         short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
3989         void _a(void) { char*s = (char*)am; s = (char *)ai; }
3990         short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
3991         short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
3992         void _e(void) { char*s = (char*)em; s = (char*)ei; }
3993         int main(void) { _a(); _e(); return 0; }
3994 EOF
3995         ]
3996         if test -f conftest.c
3997         then
3998           if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
3999               && test -f conftest.o
4000           then
4001             if test "`strings conftest.o | grep BIGenDianSyS`"
4002             then
4003               ac_cv_c_bigendian="yes"
4004             fi
4005             if test "`strings conftest.o | grep LiTTleEnDian`"
4006             then
4007               ac_cv_c_bigendian="no"
4008             fi
4009           fi
4010         fi
4011       ])
4012       if test "${ac_cv_c_bigendian}" = "unknown"
4013       then
4014         AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4015       fi
4016       ;;
4017   esac
4018 dnl  Now we know what to use for endianness, just put it in the header
4019 if test "${ac_cv_c_bigendian}" = "yes"
4020 then
4021   AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4022 fi
4023
4024 dnl
4025 dnl  Microsoft ActiveX support
4026 dnl
4027 activex=false
4028 AC_ARG_ENABLE(activex,
4029   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
4030 if test "${enable_activex}" != "no"
4031 then
4032   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4033   then
4034     AC_CHECK_PROG(MIDL, midl, :)
4035     AC_CHECK_HEADERS(ole2.h olectl.h,
4036       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4037         VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid]) 
4038         AC_CHECK_HEADERS(objsafe.h,
4039           VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
4040         )
4041         activex=:
4042       ],
4043       [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4044     )
4045   fi
4046 fi
4047 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4048 AM_CONDITIONAL(HAS_MIDL_COMPILER, test -n "${MIDL}")
4049 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4050
4051 dnl
4052 dnl  Mozilla plugin
4053 dnl
4054 mozilla=false
4055 AC_ARG_ENABLE(mozilla,
4056   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
4057 if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32"
4058 then
4059   AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4060   if test "${MOZILLA_CONFIG}" = "no"
4061   then
4062     AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4063   else
4064     if test "${SYS}" != "mingw32"; then
4065       LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
4066       AC_CHECK_LIB(Xt,XtStrings,
4067        [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
4068        [],
4069        [[-L${x_libraries} -lX11 -lSM -lICE]
4070       ])
4071       LDFLAGS="${LDFLAGS_save}"
4072     fi
4073     mozilla=:
4074     dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4075     VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4076     VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4077     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4078     AC_CHECK_HEADERS(mozilla-config.h)
4079     CPPFLAGS="${CPPFLAGS_save}"
4080   fi
4081
4082 dnl special case for mingw32
4083 elif test "${enable_mozilla}" = "yes"
4084 then
4085   AC_CHECK_TOOL(CYGPATH, cygpath, "")
4086   AC_ARG_WITH(mozilla-sdk-path,
4087     [    --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [
4088     real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4089     CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}"
4090     AC_CHECK_HEADERS(mozilla-config.h, [
4091       mozilla=:
4092       VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -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])
4093       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 -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at])
4094       XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl"
4095       if test -n "${CYGPATH}"; then
4096         XPIDL="${real_mozilla_sdk}/xpcom/bin/xpidl"
4097         real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4098         XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}/xpcom/idl\""
4099       fi ])
4100     CPPFLAGS="${CPPFLAGS_save}"
4101   ])
4102 fi
4103
4104 dnl Not necessarily in ${PATH}
4105 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
4106   XPIDL="/usr/lib/mozilla/xpidl"
4107 fi
4108 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4109
4110 dnl
4111 dnl  test plugins
4112 dnl
4113 AC_ARG_ENABLE(testsuite,
4114   [  --enable-testsuite      build test modules (default disabled)])
4115 if test "${enable_testsuite}" = "yes"
4116 then
4117   TESTS="test1 test2 test3 test4"
4118
4119   dnl  we define those so that bootstrap sets the right linker
4120   VLC_ADD_CXXFLAGS([test2],[])
4121   VLC_ADD_OBJCFLAGS([test3],[])
4122   dnl  this one is needed until automake knows what to do
4123   VLC_ADD_LDFLAGS([test3],[-lobjc])
4124
4125   VLC_ADD_PLUGINS([${TESTS}])
4126   #VLC_ADD_BUILTINS([${TESTS}])
4127 fi
4128
4129 dnl
4130 dnl  gtk_main plugin
4131 dnl
4132 if test "${NEED_GTK_MAIN}" != "no"
4133 then
4134     VLC_ADD_PLUGINS([gtk_main])
4135     VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
4136     VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
4137 fi
4138
4139 if test "${NEED_GNOME_MAIN}" != "no"
4140 then
4141     VLC_ADD_PLUGINS([gnome_main])
4142     VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
4143     VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
4144 fi
4145
4146 if test "${NEED_GTK2_MAIN}" != "no"
4147 then
4148     VLC_ADD_PLUGINS([gtk2_main])
4149     VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
4150     VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
4151     VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
4152     VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
4153 fi
4154
4155 if test "${NEED_GNOME2_MAIN}" != "no"
4156 then
4157     VLC_ADD_PLUGINS([gnome2_main])
4158     VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
4159     VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
4160 fi
4161
4162 dnl
4163 dnl  qte_main plugin
4164 dnl
4165 if test "${NEED_QTE_MAIN}" != "no"
4166 then
4167     VLC_ADD_PLUGINS([qte_main])
4168     VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4169     VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4170     VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
4171 fi
4172
4173
4174 dnl
4175 dnl  Plugin and builtin checks
4176 dnl
4177 builtin_support=false
4178 plugin_support=:
4179
4180 dnl Support for plugins - this must be AT THE END
4181 AC_ARG_ENABLE(plugins,
4182   [  --disable-plugins       make all plugins built-in (default plugins enabled)],
4183   [if test "${enable_plugins}" = "no"
4184    then
4185      plugin_support=false
4186    fi])
4187
4188 dnl Automagically disable plugins if there is no system support for
4189 dnl dynamically loadable files (.so, .dll, .dylib).
4190 dnl don't forget vlc-win32 still can load .dll as plugins
4191 if test "${ac_cv_have_plugins}" = "no"
4192 then
4193   echo "*** Your system doesn't have plugin support. All plugins will be built"
4194   echo "statically."
4195   plugin_support=false
4196 fi
4197
4198 dnl Export automake variables
4199 if ${plugin_support}
4200 then
4201   for plugin in `echo ${PLUGINS}`
4202   do
4203     eval "${plugin}_p=yes"
4204   done
4205 else
4206   VLC_ADD_BUILTINS([${PLUGINS}])
4207   PLUGINS=""
4208 fi
4209 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
4210
4211 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
4212 then
4213   builtin_support=:
4214   for builtin in `echo ${BUILTINS}`
4215   do
4216     eval "${builtin}_b=yes"
4217   done
4218 fi]
4219 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
4220
4221 dnl Import conditional variables generated by bootstrap
4222 VLC_CONDITIONALS
4223
4224 dnl
4225 dnl  Stuff used by the program
4226 dnl
4227 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
4228 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 VideoLAN", [Copyright string])
4229 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4230
4231 VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
4232 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
4233 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
4234
4235 DATA_PATH="${ac_tool_prefix}/share/vlc"
4236 AC_SUBST(DATA_PATH)
4237 PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
4238 AC_SUBST(PLUGIN_PATH)
4239
4240 dnl
4241 dnl  Handle substvars that use $(top_srcdir)
4242 dnl
4243 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4244 AC_SUBST(VLC_CONFIG)
4245 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
4246
4247 dnl
4248 dnl  Restore *FLAGS
4249 dnl
4250 VLC_RESTORE_FLAGS
4251
4252 dnl
4253 dnl  Create the vlc-config script
4254 dnl
4255 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
4256 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
4257
4258 dnl
4259 dnl  Configuration is finished
4260 dnl
4261 AC_SUBST(SYS)
4262 AC_SUBST(ARCH)
4263 AC_SUBST(ALIASES)
4264 AC_SUBST(ASM)
4265 AC_SUBST(MOC)
4266 AC_SUBST(WINDRES)
4267 AC_SUBST(XPIDL)
4268 AC_SUBST(XPIDL_INCL)
4269 AC_SUBST(LIBEXT)
4270 AC_SUBST(INCLUDES)
4271 AC_SUBST(ALL_LINGUAS)
4272
4273 dnl Import substitutions generated by bootstrap
4274 VLC_SUBSTS
4275
4276 dnl Create vlc-config.in
4277 VLC_OUTPUT_VLC_CONFIG_IN
4278
4279 AC_CONFIG_FILES([
4280   Makefile
4281   activex/Makefile
4282   debian/Makefile
4283   doc/Makefile
4284   intl/Makefile
4285   ipkg/Makefile
4286   lib/Makefile
4287   modules/Makefile
4288   mozilla/Makefile
4289   m4/Makefile
4290   po/Makefile.in
4291   share/Makefile
4292   src/Makefile
4293 ])
4294
4295 AC_CONFIG_FILES([
4296   modules/access/Makefile
4297   modules/access/dshow/Makefile
4298   modules/access/dvb/Makefile
4299   modules/access/mms/Makefile
4300   modules/access/pvr/Makefile
4301   modules/access/satellite/Makefile
4302   modules/access/v4l/Makefile
4303   modules/access/cdda/Makefile
4304   modules/access/vcd/Makefile
4305   modules/access/vcdx/Makefile
4306   modules/access/screen/Makefile
4307   modules/access_output/Makefile
4308   modules/audio_filter/Makefile
4309   modules/audio_filter/channel_mixer/Makefile
4310   modules/audio_filter/converter/Makefile
4311   modules/audio_filter/resampler/Makefile
4312   modules/audio_mixer/Makefile
4313   modules/audio_output/Makefile
4314   modules/codec/Makefile
4315   modules/codec/cmml/Makefile
4316   modules/codec/dmo/Makefile
4317   modules/codec/ffmpeg/Makefile
4318   modules/codec/spudec/Makefile
4319   modules/control/Makefile
4320   modules/control/corba/Makefile
4321   modules/demux/Makefile
4322   modules/demux/asf/Makefile
4323   modules/demux/avi/Makefile
4324   modules/demux/mp4/Makefile
4325   modules/demux/mpeg/Makefile
4326   modules/demux/playlist/Makefile
4327   modules/demux/util/Makefile
4328   modules/gui/Makefile
4329   modules/gui/beos/Makefile
4330   modules/gui/pda/Makefile
4331   modules/gui/gtk/Makefile
4332   modules/gui/gtk2/Makefile
4333   modules/gui/kde/Makefile
4334   modules/gui/macosx/Makefile
4335   modules/gui/qnx/Makefile
4336   modules/gui/qt/Makefile
4337   modules/gui/skins2/Makefile
4338   modules/gui/wxwindows/Makefile
4339   modules/gui/wince/Makefile
4340   modules/misc/Makefile
4341   modules/misc/dummy/Makefile
4342   modules/misc/memcpy/Makefile
4343   modules/misc/network/Makefile
4344   modules/misc/testsuite/Makefile
4345   modules/misc/playlist/Makefile
4346   modules/misc/xml/Makefile
4347   modules/mux/Makefile
4348   modules/mux/mpeg/Makefile
4349   modules/packetizer/Makefile
4350   modules/services_discovery/Makefile
4351   modules/stream_out/Makefile
4352   modules/stream_out/transrate/Makefile
4353   modules/video_chroma/Makefile
4354   modules/video_filter/Makefile
4355   modules/video_filter/swscale/Makefile
4356   modules/video_output/Makefile
4357   modules/video_output/directx/Makefile
4358   modules/video_output/qte/Makefile
4359   modules/video_output/x11/Makefile
4360   modules/visualization/Makefile
4361   modules/visualization/visual/Makefile
4362   modules/visualization/galaktos/Makefile
4363 ])
4364
4365 dnl Generate makefiles
4366 AC_OUTPUT
4367
4368 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4369 # not provided with the source
4370 ${SHELL} ./config.status --file=vlc-config
4371 chmod 0755 vlc-config
4372
4373 printf "
4374 vlc configuration
4375 --------------------
4376 vlc version           : ${VERSION}
4377 system                : ${SYS}
4378 architecture          : ${ARCH}
4379 build flavour         : "
4380 test "${enable_debug}" = "yes" && printf "debug "
4381 test "${enable_cprof}" = "yes" && printf "cprof "
4382 test "${enable_gprof}" = "yes" && printf "gprof "
4383 test "${enable_optimizations}" = "yes" && printf "optim "
4384 test "${enable_release}" = "yes" && printf "release " || printf "devel "
4385 echo "
4386 vlc aliases           :${ALIASES}
4387
4388 You can tune the compiler flags in vlc-config.
4389 To build vlc and its plugins, type \`make'.
4390 "
4391