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