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