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