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