* all: added Musepack support using libmpdec (1.2.1) from www.musepack.net.
[vlc.git] / 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 mpc],[-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  mpc demux plugin
2055 dnl
2056 AC_ARG_ENABLE(mpc,
2057   [  --enable-mpc            Mpc demux support (default enabled)])
2058 if test "${enable_mpc}" != "no"
2059 then
2060   AC_CHECK_HEADERS(mpcdec/mpcdec.h, [
2061     VLC_ADD_PLUGINS([mpc])
2062     VLC_ADD_LDFLAGS([mpc],[-lmpcdec])])
2063 fi
2064
2065
2066 dnl
2067 dnl  Codec plugins
2068 dnl
2069
2070 AC_ARG_WITH(,[Codec plugins:])
2071
2072 dnl
2073 dnl  mad plugin
2074 dnl
2075 AC_ARG_ENABLE(mad,
2076   [  --enable-mad            libmad module (default enabled)])
2077 if test "${enable_mad}" != "no"
2078 then
2079   AC_ARG_WITH(mad,
2080     [    --with-mad=PATH       path to libmad],[],[])
2081   if test "${with_mad}" != "no" -a -n "${with_mad}"
2082   then
2083     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2084     VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2085   fi
2086
2087   AC_ARG_WITH(mad-tree,
2088     [    --with-mad-tree=PATH  mad tree for static linking],[],[])
2089   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2090   then
2091     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2092     if test -z "${real_mad_tree}"
2093     then
2094       dnl  The given directory can't be found
2095       AC_MSG_RESULT(no)
2096       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2097     fi
2098     dnl  Use a custom libmad
2099     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2100     if test -f ${real_mad_tree}/mad.h
2101     then
2102       AC_MSG_RESULT(yes)
2103       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2104       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2105       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2106       AC_CHECK_LIB(mad, mad_bit_init, [
2107         VLC_ADD_BUILTINS([mpgatofixed32])
2108         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2109         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2110       ],[])
2111       LDFLAGS="${LDFLAGS_save}"
2112     else
2113       AC_MSG_RESULT(no)
2114       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2115     fi
2116   else
2117     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2118     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2119     AC_CHECK_HEADERS(mad.h, ,
2120       [ 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.]) ])
2121     AC_CHECK_LIB(mad, mad_bit_init, [
2122       VLC_ADD_PLUGINS([mpgatofixed32])
2123       VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2124       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2125     CPPFLAGS="${CPPFLAGS_save}"
2126     LDFLAGS="${LDFLAGS_save}"
2127   fi
2128 fi
2129
2130 dnl
2131 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2132 dnl
2133 AC_CHECK_HEADERS(id3tag.h, [
2134   AC_CHECK_HEADERS(zlib.h, [
2135     VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2136     VLC_ADD_PLUGINS([id3tag])]) ])
2137
2138 dnl
2139 dnl  ffmpeg decoder/demuxer plugin
2140 dnl
2141 AC_ARG_ENABLE(ffmpeg,
2142 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
2143 if test "${enable_ffmpeg}" != "no"
2144 then
2145 dnl Look for a ffmpeg-config (we are on debian )
2146  
2147    FFMPEG_PATH="${PATH}"
2148    AC_ARG_WITH(ffmpeg-config-path,
2149      [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2150      [ if test "${with_ffmpeg_config_path}" != "no"
2151        then
2152          FFMPEG_PATH="${with_ffmpeg_config_path}"
2153        fi ])
2154    AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2155    if test "${FFMPEG_CONFIG}" != "no"
2156    then
2157      AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2158      AC_CHECK_HEADERS(postproc/postprocess.h)
2159      VLC_ADD_PLUGINS([ffmpeg])
2160      if test "${enable_sout}" != "no"; then
2161          VLC_ADD_PLUGINS([stream_out_switcher])
2162      fi
2163      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2164      VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2165   
2166   else
2167     AC_ARG_WITH(ffmpeg-mp3lame,
2168       [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2169       [
2170         VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
2171
2172     AC_ARG_WITH(ffmpeg-faac,
2173       [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
2174       [
2175         VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
2176
2177     AC_ARG_WITH(ffmpeg-dts,
2178       [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
2179       [
2180         VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2181
2182     AC_ARG_WITH(ffmpeg-zlib,
2183       [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
2184       [
2185         VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
2186
2187     AC_ARG_WITH(ffmpeg-tree,
2188       [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2189
2190     dnl
2191     dnl test for !(--with-ffmpeg-tree)
2192     dnl
2193     if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
2194       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2195       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2196       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2197       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2198
2199       AC_CHECK_LIB(avutil, av_add_i, [
2200         VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2201         LDAVUTIL="-lavutil"])
2202
2203       AC_CHECK_LIB(avcodec, avcodec_init, [
2204         VLC_ADD_BUILTINS([ffmpeg])
2205         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2206         if test "${enable_sout}" != "no"; then
2207             VLC_ADD_BUILTINS([stream_out_switcher])
2208         fi],
2209          [ 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])
2210       AC_CHECK_LIB(avformat, av_open_input_stream, [
2211         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2212         [Define if you have ffmpeg's libavformat.])
2213         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2214       LDFLAGS="${LDFLAGS_save}"
2215       CPPFLAGS="${CPPFLAGS_save}"
2216     fi
2217
2218     dnl
2219     dnl test for --with-ffmpeg-tree
2220     dnl
2221     if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2222       AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2223       real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2224       if test -z "${real_ffmpeg_tree}"; then
2225         dnl  The given directory can't be found
2226         AC_MSG_RESULT(no)
2227         AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2228       fi
2229       if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2230         dnl  The given libavcodec wasn't built
2231         AC_MSG_RESULT(no)
2232         AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2233       fi
2234       if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2235         dnl  The given libavcodec wasn't built with --enable-pp
2236         AC_MSG_RESULT(no)
2237         AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2238       fi
2239       dnl  Use a custom libffmpeg
2240       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2241
2242       if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2243         if test "${with_ffmpeg_zlib}" != "yes"; then
2244           VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2245         fi
2246       fi
2247       if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2248         if test "${with_ffmpeg_mp3lame}" != "yes"; then
2249           VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2250         fi
2251       fi
2252       if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2253         if test "${with_ffmpeg_faac}" != "yes"; then
2254           VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2255         fi
2256       fi
2257       if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2258         if test "${with_ffmpeg_dts}" != "yes"; then
2259           VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
2260         fi
2261       fi
2262       if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2263         VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2264       fi
2265       if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2266         VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2267       fi
2268       if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2269         VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2270       fi
2271
2272       VLC_ADD_BUILTINS([ffmpeg])
2273       if test "${enable_sout}" != "no"; then
2274         VLC_ADD_BUILTINS([stream_out_switcher])
2275       fi
2276
2277       if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2278         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2279         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2280       fi
2281
2282       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2283       VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2284
2285       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2286         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2287         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2288         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2289       fi
2290     fi
2291   fi
2292 fi
2293
2294 dnl
2295 dnl  ffmpeg decoder/demuxer plugin
2296 dnl
2297 AC_ARG_ENABLE(ffmpegaltivec,
2298 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
2299 if test "${enable_ffmpegaltivec}" == "yes"
2300 then
2301   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2302     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2303     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2304     if test -z "${real_ffmpeg_tree}"; then
2305       dnl  The given directory can't be found
2306       AC_MSG_RESULT(no)
2307       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2308     fi
2309     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2310       dnl  The given libavcodecaltivec wasn't built
2311       AC_MSG_RESULT(no)
2312       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2313     fi
2314     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2315       dnl  The given libavcodecaltivec wasn't built with --enable-pp
2316       AC_MSG_RESULT(no)
2317       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2318     fi
2319     dnl  Use a custom libffmpeg
2320     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2321     VLC_ADD_BUILTINS([ffmpegaltivec])
2322     VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2323     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2324     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2325
2326     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2327       AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2328       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2329       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2330     fi
2331     VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2332     VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2333   fi
2334 fi
2335
2336 dnl
2337 dnl  faad decoder plugin
2338 dnl
2339 AC_ARG_ENABLE(faad,
2340 [  --enable-faad           faad codec (default disabled)])
2341 if test "${enable_faad}" = "yes"
2342 then
2343   AC_ARG_WITH(faad-tree,
2344   [    --with-faad-tree=PATH faad tree for static linking])
2345   if test -n "${with_faad_tree}"
2346   then
2347     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2348     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2349     if test -z "${real_faad_tree}"
2350     then
2351       dnl  The given directory can't be found
2352       AC_MSG_RESULT(no)
2353       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2354     fi
2355     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2356     then
2357       dnl  Use a custom faad
2358       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2359       VLC_ADD_BUILTINS([faad])
2360       VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2361       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2362     else
2363       dnl  The given libfaad wasn't built
2364       AC_MSG_RESULT(no)
2365       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2366     fi
2367   else
2368     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2369     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2370     AC_CHECK_HEADERS(faad.h, ,
2371       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2372     AC_CHECK_LIB(faad, faacDecOpen, [
2373       VLC_ADD_PLUGINS([faad])
2374       VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2375       AC_CHECK_LIB(faad, NeAACDecOpen, [
2376         VLC_ADD_PLUGINS([faad])
2377         VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2378         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2379     LDFLAGS="${LDFLAGS_save}"
2380     CPPFLAGS="${CPPFLAGS_save}"
2381   fi
2382 fi
2383
2384 dnl
2385 dnl twolame encoder plugin
2386 dnl
2387 AC_ARG_ENABLE(twolame,
2388 [  --enable-twolame        twolame codec (default disabled)])
2389 if test "${enable_twolame}" = "yes"
2390 then
2391   AC_ARG_WITH(twolame-tree,
2392   [    --with-twolame-tree=PATH twolame tree for static linking])
2393   if test -n "${with_twolame_tree}"
2394   then
2395     AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2396     real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2397     if test -z "${real_twolame_tree}"
2398     then
2399       dnl  The given directory can't be found
2400       AC_MSG_RESULT(no)
2401       AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2402     fi
2403     if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2404     then
2405       dnl  Use a custom twolame
2406       AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2407       VLC_ADD_BUILTINS([twolame])
2408       VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2409       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2410     else
2411       dnl  The given libtwolame wasn't built
2412       AC_MSG_RESULT(no)
2413       AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2414     fi
2415   else
2416     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2417     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2418     AC_CHECK_HEADERS(twolame.h, ,
2419       [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2420     AC_CHECK_LIB(twolame, twolame_init, [
2421       VLC_ADD_PLUGINS([twolame])
2422       VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2423         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2424     LDFLAGS="${LDFLAGS_save}"  
2425     CPPFLAGS="${CPPFLAGS_save}"
2426   fi
2427 fi
2428
2429 dnl
2430 dnl  QuickTime plugin
2431 dnl
2432 AC_ARG_ENABLE(quicktime,
2433   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
2434 if test "${enable_quicktime}" != "no" &&
2435   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2436 then
2437   if test "${SYS}" = "mingw32"; then
2438     VLC_ADD_BUILTINS([quicktime])
2439   else
2440   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2441     [ VLC_ADD_BUILTINS([quicktime])
2442       VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2443     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2444   fi
2445 fi
2446
2447 dnl
2448 dnl  Real plugin
2449 dnl
2450 AC_ARG_ENABLE(real,
2451   [  --enable-real           Real audio module (default disabled)])
2452 if test "${enable_real}" = "yes"; then
2453   VLC_ADD_PLUGINS([realaudio])
2454 fi
2455
2456 dnl
2457 dnl  Real RTSP plugin
2458 dnl
2459 AC_ARG_ENABLE(realrtsp,
2460   [  --enable-realrtsp       Real RTSP module (default disabled)])
2461 if test "${enable_realrtsp}" = "yes"; then
2462   VLC_ADD_PLUGINS([access_realrtsp])
2463 fi
2464
2465 dnl
2466 dnl MP4 module
2467 dnl
2468 AC_CHECK_HEADERS(zlib.h, [
2469   VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2470 ] )
2471
2472 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2473   VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2474 ] )
2475
2476 dnl
2477 dnl skins2 module
2478 dnl
2479 AC_CHECK_HEADERS(libtar.h, [
2480   VLC_ADD_LDFLAGS([skins2],[-ltar])
2481 ] )
2482
2483
2484
2485 dnl
2486 dnl A52/AC3 decoder plugin
2487 dnl
2488 AC_ARG_ENABLE(a52,
2489   [  --enable-a52            A/52 support with liba52 (default enabled)])
2490 if test "${enable_a52}" != "no"
2491 then
2492   AC_ARG_WITH(a52,
2493     [    --with-a52=PATH       a52 headers and libraries])
2494   AC_ARG_WITH(a52-tree,
2495     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
2496   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2497   then
2498     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2499     if test -z "${real_a52_tree}"
2500     then
2501       dnl  The given directory can't be found
2502       AC_MSG_RESULT(no)
2503       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2504     fi
2505     dnl  Use a custom a52dec
2506     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2507     if test -f ${real_a52_tree}/include/a52.h
2508     then
2509       AC_MSG_RESULT(yes)
2510       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2511       VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2512       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2513       AC_CHECK_LIB(a52, a52_free, [
2514         VLC_ADD_BUILTINS([a52tofloat32])
2515         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2516         VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2517         ],[
2518         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2519         then
2520           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2521         else
2522           AC_MSG_ERROR([the specified tree hasn't been compiled])
2523         fi
2524       ])
2525       LDFLAGS="${LDFLAGS_save}"
2526     else
2527       AC_MSG_RESULT(no)
2528       AC_MSG_ERROR([the specified tree doesn't have a52.h])
2529     fi
2530   else
2531     if test -z "${with_a52}"
2532     then
2533       LDFLAGS_test=""
2534       CPPFLAGS_test=""
2535     else
2536       LDFLAGS_test="-L${with_a52}/lib"
2537       CPPFLAGS_test="-I${with_a52}/include"
2538     fi
2539     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2540     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2541     AC_CHECK_HEADERS(a52dec/a52.h, [
2542       AC_CHECK_LIB(a52, a52_free, [
2543         VLC_ADD_PLUGINS([a52tofloat32])
2544         VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2545         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2546       ],[
2547         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.])
2548       ])
2549     ])
2550     CPPFLAGS="${CPPFLAGS_save}"
2551     LDFLAGS="${LDFLAGS_save}"
2552   fi
2553 fi
2554
2555 AC_ARG_WITH(a52-fixed,
2556       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
2557       [
2558         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2559
2560 dnl
2561 dnl DTS Coherent Acoustics decoder plugin
2562 dnl
2563 AC_ARG_ENABLE(dts,
2564   [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
2565 if test "${enable_dts}" != "no"; then
2566   AC_ARG_WITH(dts-tree,
2567     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
2568   if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2569   then
2570     real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2571     if test -z "${real_dts_tree}"
2572     then
2573       dnl  The given directory can't be found
2574       AC_MSG_RESULT(no)
2575       AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2576     fi
2577     dnl  Use a custom libdts
2578     AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2579     if test -f ${real_dts_tree}/include/dts.h
2580     then
2581       AC_MSG_RESULT(yes)
2582       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2583       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2584       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2585       AC_CHECK_LIB(dts_pic, dts_free, [
2586         VLC_ADD_PLUGINS([dtstofloat32])
2587         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2588         ],[
2589         AC_CHECK_LIB(dts, dts_free, [
2590           VLC_ADD_BUILTINS([dtstofloat32])
2591           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2592           ],[
2593           if test -f ${real_dts_tree}/libdts/libdts.a
2594           then
2595             AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2596           else
2597             AC_MSG_ERROR([the specified tree hasn't been compiled])
2598           fi
2599         ])
2600       ])
2601       LDFLAGS="${LDFLAGS_save}"
2602     else
2603       AC_MSG_RESULT(no)
2604       AC_MSG_ERROR([the specified tree doesn't have dts.h])
2605     fi
2606   else
2607     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2608     AC_CHECK_HEADERS(dts.h, [
2609       AC_CHECK_LIB(dts_pic, dts_free, [
2610         VLC_ADD_PLUGINS([dtstofloat32])
2611         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2612       ],[
2613         AC_CHECK_LIB(dts, dts_free, [
2614           VLC_ADD_BUILTINS([dtstofloat32])
2615           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2616         ],[
2617           if test "${enable_dts}" = "yes"; then
2618             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2619           fi
2620         ])
2621       ])
2622     ])
2623     LDFLAGS="${LDFLAGS_save}"
2624   fi
2625 fi
2626
2627 dnl
2628 dnl  Flac plugin
2629 dnl
2630 AC_ARG_ENABLE(flac,
2631   [  --enable-flac           flac decoder support (default disabled)])
2632 if test "${enable_flac}" = "yes"
2633 then
2634   AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2635     VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2636    ],[])
2637 fi
2638
2639 dnl
2640 dnl  Libmpeg2 plugin
2641 dnl
2642 AC_ARG_ENABLE(libmpeg2,
2643   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
2644 if test "${enable_libmpeg2}" != "no"
2645 then
2646   AC_ARG_WITH(libmpeg2-tree,
2647   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2648   if test -n "${with_libmpeg2_tree}"
2649   then
2650     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2651     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2652     if test -z "${real_libmpeg2_tree}"
2653     then
2654       dnl  The given directory can't be found
2655       AC_MSG_RESULT(no)
2656       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2657     fi
2658     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2659     then
2660       dnl  Use a custom libmpeg2
2661       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2662       VLC_ADD_BUILTINS([libmpeg2])
2663       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2664       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2665       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2666     else
2667       dnl  The given libmpeg2 wasn't built
2668       AC_MSG_RESULT(no)
2669       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2670     fi
2671   else
2672     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2673       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2674       AC_EGREP_CPP(yes,
2675         [#include <mpeg2dec/mpeg2.h>
2676          #ifdef MPEG2_RELEASE
2677          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2678          yes
2679          #endif
2680          #endif],
2681         [AC_MSG_RESULT([yes])
2682           VLC_ADD_PLUGINS([libmpeg2])
2683           VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2684         [AC_MSG_RESULT([no])
2685           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.])])],
2686
2687       [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.])]
2688     )
2689   fi
2690 fi
2691
2692 dnl
2693 dnl  Vorbis plugin
2694 dnl
2695 AC_ARG_ENABLE(vorbis,
2696   [  --enable-vorbis         Vorbis decoder support (default enabled)])
2697 if test "${enable_vorbis}" != "no"
2698 then
2699   AC_CHECK_HEADERS(vorbis/codec.h, [
2700     VLC_ADD_PLUGINS([vorbis])
2701     VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
2702
2703   AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
2704     VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
2705 fi
2706
2707 dnl
2708 dnl  Tremor plugin
2709 dnl
2710 AC_ARG_ENABLE(tremor,
2711   [  --enable-tremor         Tremor decoder support (default disabled)])
2712 if test "${enable_tremor}" = "yes"
2713 then
2714   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2715     VLC_ADD_PLUGINS([tremor])
2716     VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
2717    ],[])
2718 fi
2719
2720 dnl
2721 dnl  Speex plugin
2722 dnl
2723 AC_ARG_ENABLE(speex,
2724   [  --enable-speex          Speex decoder support (default enabled)])
2725 if test "${enable_speex}" != "no"
2726 then
2727   AC_CHECK_HEADERS(speex/speex.h, [
2728     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
2729     AC_CHECK_LIB(speex, speex_decode_int, [
2730       VLC_ADD_PLUGINS([speex])
2731       VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
2732       [ AC_MSG_RESULT([no])
2733         AC_MSG_WARN([Your libspeex is too old, please get the development
2734                      version.]) ],[])
2735     LDFLAGS="${LDFLAGS_save}"
2736     ],[])
2737 fi
2738
2739 dnl
2740 dnl  tarkin decoder plugin
2741 dnl
2742 AC_ARG_ENABLE(tarkin,
2743 [  --enable-tarkin         experimental tarkin codec (default disabled)])
2744 if test "${enable_tarkin}" = "yes"
2745 then
2746   AC_ARG_WITH(tarkin-tree,
2747   [    --with-tarkin-tree=PATH tarkin tree for static linking])
2748   if test -n "${with_tarkin_tree}"
2749   then
2750     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
2751     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
2752     if test -f "${real_tarkin_tree}/tarkin.o"
2753     then
2754       VLC_ADD_BUILTINS([tarkin])
2755       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
2756       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])
2757       AC_MSG_RESULT(yes)
2758     else
2759       dnl  The given tarkin tree wasn't built
2760       AC_MSG_RESULT(no)
2761       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
2762                     make sure you compiled tarkin in ${with_tarkin_tree}])
2763     fi
2764   fi
2765 fi
2766
2767 dnl
2768 dnl  theora decoder plugin
2769 dnl
2770 AC_ARG_ENABLE(theora,
2771 [  --enable-theora         experimental theora codec (default disabled)])
2772 if test "${enable_theora}" = "yes"
2773 then
2774   AC_CHECK_HEADERS(theora/theora.h, [
2775     AC_CHECK_LIB(theora, theora_granule_time, [
2776       if test "${SYS}" = "mingw32"; then
2777         VLC_ADD_PLUGINS([theora])
2778       else
2779         VLC_ADD_BUILTINS([theora])
2780       fi
2781       theora_libs="-ltheora -logg"
2782       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
2783       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
2784 You also need to check that you have a libogg posterior to the 1.0 release.])],
2785       [-logg])
2786   ])
2787 fi
2788
2789 dnl
2790 dnl  dirac decoder plugin
2791 dnl
2792 AC_ARG_ENABLE(dirac,
2793 [  --enable-dirac          experimental dirac codec (default disabled)])
2794 if test "${enable_dirac}" = "yes"; then
2795   AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
2796     AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
2797       VLC_ADD_PLUGINS([dirac])
2798       VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
2799       AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
2800       [-lstdc++])
2801   ])
2802 fi
2803
2804 dnl
2805 dnl  PNG decoder module
2806 dnl
2807 AC_ARG_ENABLE(png,
2808   [  --enable-png            PNG support (default enabled)])
2809 if test "${enable_png}" != "no"; then
2810 AC_CHECK_HEADERS(png.h, [
2811   LDFLAGS="${LDFLAGS_save} -lz"
2812   AC_CHECK_LIB(png, png_set_rows, [
2813     VLC_ADD_LDFLAGS([png],[-lpng -lz])
2814     VLC_ADD_PLUGINS([png])
2815     VLC_ADD_PLUGINS([osdmenu])
2816     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
2817     [],[-lz])
2818   LDFLAGS="${LDFLAGS_save}"
2819   ])
2820 fi
2821
2822 dnl
2823 dnl H264 encoder plugin (using libx264)
2824 dnl
2825 AC_ARG_ENABLE(x264,
2826   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
2827 if test "${enable_x264}" != "no"; then
2828   AC_ARG_WITH(x264-tree,
2829     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
2830   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2831   then
2832     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2833     if test -z "${real_x264_tree}"
2834     then
2835       dnl  The given directory can't be found
2836       AC_MSG_RESULT(no)
2837       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2838     fi
2839     dnl  Use a custom libx264
2840     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2841     if test -f ${real_x264_tree}/x264.h
2842     then
2843       AC_MSG_RESULT(yes)
2844       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2845       VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
2846       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2847       AC_CHECK_LIB(x264, x264_encoder_open, [
2848         VLC_ADD_BUILTINS([x264])
2849         VLC_ADD_LDFLAGS([x264],[-lx264])
2850       ],[
2851         AC_MSG_ERROR([the specified tree hasn't been compiled])
2852       ])
2853       LDFLAGS="${LDFLAGS_save}"
2854     else
2855       AC_MSG_RESULT(no)
2856       AC_MSG_ERROR([the specified tree doesn't have x264.h])
2857     fi
2858   else
2859     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2860     AC_CHECK_HEADERS(x264.h, [
2861       AC_CHECK_LIB(x264, x264_encoder_open, [
2862         VLC_ADD_PLUGINS([x264])
2863         VLC_ADD_LDFLAGS([x264],[-lx264])
2864       ],[
2865         if test "${enable_x264}" = "yes"; then
2866             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
2867           fi
2868       ])
2869     ])
2870     LDFLAGS="${LDFLAGS_save}"
2871   fi
2872 fi
2873
2874 dnl
2875 dnl  CMML plugin
2876 dnl
2877 AC_ARG_ENABLE(cmml,
2878   [  --enable-cmml           CMML support (default enabled)])
2879 if test "${enable_cmml}" != "no"
2880 then
2881   VLC_ADD_PLUGINS([cmml])
2882 fi
2883
2884
2885 dnl
2886 dnl  Video plugins
2887 dnl
2888
2889 AC_ARG_WITH(,[Video plugins:])
2890
2891 dnl Check for DPMS
2892 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
2893   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2894   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
2895     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
2896     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
2897       AC_MSG_RESULT(yes)
2898       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
2899                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
2900     ],[
2901       AC_MSG_RESULT(no)
2902     ])
2903   ],,[
2904     #include <X11/Xlib.h>
2905   ])
2906   CPPFLAGS="${CPPFLAGS_save}"
2907 fi
2908
2909 dnl
2910 dnl  X11 module
2911 dnl  (enabled by default except on win32)
2912 dnl
2913 AC_ARG_ENABLE(x11,
2914   [  --enable-x11            X11 support (default enabled)])
2915 if test "${enable_x11}" != "no" &&
2916   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2917    test "${enable_x11}" = "yes"); then
2918   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2919   AC_CHECK_HEADERS(X11/Xlib.h, [
2920     VLC_ADD_PLUGINS([x11])
2921     VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
2922     VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
2923   ])
2924   CPPFLAGS="${CPPFLAGS_save}"
2925 fi
2926
2927 dnl
2928 dnl  XVideo module
2929 dnl  (enabled by default except on win32)
2930 dnl
2931 AC_ARG_ENABLE(xvideo,
2932   [  --enable-xvideo         XVideo support (default enabled)])
2933 if test "${enable_xvideo}" != "no" &&
2934   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2935    test "${enable_xvideo}" = "yes"); then
2936   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2937   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
2938     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2939     AC_CHECK_LIB(Xv,XvPutImage,[
2940       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
2941       # test for libXv_pic.
2942       if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
2943         VLC_ADD_PLUGINS([xvideo])
2944         VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2945         VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2946       else
2947         AC_CHECK_LIB(Xv_pic,XvPutImage,[
2948           VLC_ADD_PLUGINS([xvideo])
2949           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2950           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
2951         ],[
2952           VLC_ADD_BUILTINS([xvideo])
2953           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2954           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2955         ])
2956       fi
2957     ])
2958     CFLAGS="${CFLAGS_save}"
2959   ]
2960   CPPFLAGS="${CPPFLAGS_save}")
2961 fi
2962
2963 dnl
2964 dnl  GLX module
2965 dnl  (enabled by default except on win32)
2966 dnl
2967 AC_ARG_ENABLE(glx,
2968   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
2969 if test "${enable_glx}" != "no" &&
2970   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2971    test "${enable_glx}" = "yes"); then
2972   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2973   AC_CHECK_HEADERS(X11/Xlib.h, [
2974     AC_CHECK_HEADERS(GL/glx.h, [
2975       VLC_ADD_PLUGINS([glx])
2976       VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
2977       VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
2978   ]) ])
2979   CPPFLAGS="${CPPFLAGS_save}"
2980 fi
2981
2982 dnl
2983 dnl  Check for the Xinerama extension
2984 dnl
2985 if test "${enable_xvideo}" != "no" &&
2986   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2987    test "${enable_xvideo}" = "yes"); then
2988   ac_cv_have_xinerama="no"
2989   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2990   CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2991   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
2992     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
2993       VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
2994       VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
2995       VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
2996       ac_cv_have_xinerama="yes"
2997     ],[
2998       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
2999         VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
3000         VLC_ADD_LDFLAGS([x11],[-lXinerama])
3001         VLC_ADD_LDFLAGS([glx],[-lXinerama])
3002         ac_cv_have_xinerama="yes"
3003       ])
3004     ])
3005   ])
3006   if test "${ac_cv_have_xinerama}" = "yes"; then
3007     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
3008   fi
3009   CFLAGS="${CFLAGS_save}"
3010   CPPFLAGS="${CPPFLAGS_save}"
3011 fi
3012
3013 dnl
3014 dnl  OpenGL module
3015 dnl  (enabled by default except on beos)
3016 dnl
3017 AC_ARG_ENABLE(opengl,
3018   [  --enable-opengl         OpenGL support (default enabled)])
3019 if test "${enable_opengl}" != "no" &&
3020    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
3021   if test "${SYS}" != "darwin"; then
3022     AC_CHECK_HEADERS(GL/gl.h, [
3023       VLC_ADD_PLUGINS([opengl])
3024       if test "${SYS}" != "mingw32"; then
3025         VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
3026       else
3027         VLC_ADD_LDFLAGS([opengl],[-lopengl32])
3028       fi
3029     ])
3030   else
3031     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
3032     VLC_ADD_PLUGINS([opengl])
3033     VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
3034   fi
3035 fi
3036
3037 dnl
3038 dnl  SDL module
3039 dnl
3040 AC_ARG_ENABLE(sdl,
3041   [  --enable-sdl            SDL support (default enabled)])
3042 if test "${enable_sdl}" != "no"
3043 then
3044   SDL_PATH="${PATH}"
3045   AC_ARG_WITH(sdl-config-path,
3046     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
3047     [ if test "${with_sdl_config_path}" != "no"
3048       then
3049         SDL_PATH="${with_sdl_config_path}:${PATH}"
3050       fi ])
3051   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
3052   SDL_CONFIG="${SDL12_CONFIG}"
3053   SDL_HEADER="SDL12/SDL.h"
3054   SDL_IMAGE="SDL12/SDL_image.h"
3055   if test "${SDL_CONFIG}" = "no"
3056   then
3057     AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
3058     SDL_CONFIG=${SDL11_CONFIG}
3059     SDL_HEADER="SDL11/SDL.h"
3060     SDL_IMAGE="SDL11/SDL_image.h"
3061   fi
3062   if test "${SDL_CONFIG}" = "no"
3063   then
3064     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
3065     SDL_HEADER="SDL/SDL.h"
3066     SDL_IMAGE="SDL/SDL_image.h"
3067   fi
3068   # check for cross-compiling
3069   SDL_PREFIX=
3070   AC_ARG_WITH(sdl-prefix,
3071     [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3072                                e.g use as:
3073                                --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3074   if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3075   then
3076     SDL_PREFIX="--prefix=${with_sdl_prefix}"
3077   fi
3078   if test "${SDL_CONFIG}" != "no"
3079   then
3080     # SDL on Darwin is heavily patched and can only run SDL_image
3081     if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3082       VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3083     fi
3084     VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3085     VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3086     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3087     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3088       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3089       [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3090           As a last resort we also test for SDL.h presence),
3091       [ AC_MSG_ERROR([The development package for SDL is not installed.
3092 Please install it and try again. Alternatively you can also configure with
3093 --disable-sdl.])
3094       ])])
3095     AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3096       <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3097       VLC_ADD_PLUGINS([sdl_image])
3098       AC_CHECK_LIB(png, png_set_rows,
3099         [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3100       AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3101         [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3102       AC_CHECK_LIB(tiff, TIFFClientOpen,
3103         [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3104       VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3105       [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3106           As a last resort we also test for SDL_image.h presence),
3107       [ AC_MSG_WARN([The development package for SDL_image is not installed.
3108 You should install it alongside your SDL package.])
3109       ])])
3110     CPPFLAGS="${CPPFLAGS_save}"
3111     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3112     then
3113       AC_MSG_ERROR([The development package for SDL is not installed.
3114 Please install it and try again. Alternatively you can also configure with
3115 --disable-sdl.])
3116     fi
3117
3118   elif test "${enable_sdl}" =  "yes"
3119   then
3120     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3121 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3122     ])
3123   fi
3124 fi
3125
3126 dnl
3127 dnl  freetype module
3128 dnl
3129 AC_ARG_ENABLE(freetype,
3130   [  --enable-freetype       freetype support (default enabled)])
3131 AC_ARG_ENABLE(fribidi,
3132   [  --enable-fribidi        fribidi support (default enabled)])
3133 if test "${enable_freetype}" != "no"
3134 then
3135   FREETYPE_PATH="${PATH}"
3136   AC_ARG_WITH(freetype-config-path,
3137     [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3138     [ if test "${with_freetype_config_path}" != "no"
3139       then
3140         FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3141       fi ])
3142   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3143
3144   if test "${FREETYPE_CONFIG}" != "no"
3145   then
3146     VLC_ADD_PLUGINS([freetype])
3147     VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3148     VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3149     AC_CHECK_HEADERS(Carbon/Carbon.h,
3150       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3151   elif test "${enable_freetype}" =  "yes"
3152   then
3153     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3154 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3155     ])
3156   fi
3157
3158   dnl fribidi support
3159   if test "${enable_fribidi}" != "no"
3160   then
3161     FRIBIDI_PATH="${PATH}"
3162     AC_ARG_WITH(fribidi-config-path,
3163       [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3164       [ if test "${with_fribidi_config_path}" != "no"
3165         then
3166           FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3167         fi ])
3168     AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3169
3170     if test "${FRIBIDI_CONFIG}" != "no"
3171     then
3172       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3173       VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3174       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3175       VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3176     fi
3177   fi
3178 fi
3179
3180 dnl
3181 dnl  libxml2 module
3182 dnl
3183 AC_ARG_ENABLE(libxml2,
3184   [  --enable-libxml2        libxml2 support (default enabled)])
3185 if test "${enable_libxml2}" != "no"
3186 then
3187   XML2_PATH="${PATH}"
3188   AC_ARG_WITH(xml2-config-path,
3189     [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3190     [ if test "${with_xml2_config_path}" != "no"; then
3191         XML2_PATH="${with_xml2_config_path}:${PATH}"
3192       fi ])
3193   AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3194   if test "${XML2_CONFIG}" != "no"; then
3195     VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3196     VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3197     dnl depends on the xmlTextReader extension
3198     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3199     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3200     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3201       AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3202         VLC_ADD_PLUGINS([xml]) ],[
3203           AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3204           if test "${enable_xml2}" = "yes"; then
3205             AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3206           fi])
3207        ],[
3208       AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3209       if test "${enable_xml2}" = "yes"; then
3210         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3211       fi])
3212     LDFLAGS="${LDFLAGS_save}"
3213     CPPFLAGS="${CPPFLAGS_save}"
3214   else
3215     if test "${enable_xml2}" = "yes"; then
3216       AC_MSG_ERROR([Could not find libxml2])
3217     fi
3218   fi
3219 fi
3220
3221 dnl
3222 dnl  SVG module
3223 dnl
3224 AC_ARG_ENABLE(svg,
3225   [  --enable-svg            SVG support (default disabled)])
3226 if test "${enable_svg}" == "yes"
3227 then
3228   PKG_CHECK_MODULES(SVG, 
3229         librsvg-2.0 >= 2.5.0,
3230         [
3231           VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3232           VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3233           VLC_ADD_PLUGINS([svg]) ],
3234         [AC_MSG_WARN(SVG library not found)])
3235 fi
3236
3237 dnl
3238 dnl  Qt Embedded module
3239 dnl  (disabled by default)
3240 dnl
3241 AC_ARG_ENABLE(qte,
3242   [  --enable-qte            QT Embedded support (default disabled)])
3243 if test "${enable_qte}" = "yes"
3244 then
3245   AC_ARG_WITH(qte,
3246   [    --with-qte=PATH       Qt Embedded headers and libraries])
3247   if test "${with_qte}" != "no" -a -n "${with_qte}"
3248   then
3249     VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3250     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])
3251   else
3252     VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3253     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3254   fi
3255   VLC_ADD_PLUGINS([qte])
3256   NEED_QTE_MAIN=yes
3257   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3258   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3259     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3260   ] )
3261   CPPFLAGS="${CPPFLAGS_save}"
3262 fi
3263
3264 dnl
3265 dnl  Qt Video output module
3266 dnl  (disabled by default)
3267 dnl
3268 dnl AC_ARG_ENABLE(qt_video,
3269 dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
3270 dnl if test "${enable_qt_video}" = "yes"
3271 dnl then
3272 dnl  VLC_ADD_PLUGINS([qt_video])
3273 dnl  VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3274 dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3275 dnl   AC_CHECK_LIB(qt-mt,main,[
3276 dnl    VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3277 dnl  ],[
3278 dnl    AC_CHECK_LIB(qt,main,[
3279 dnl      VLC_ADD_LDFLAGS([qt_video],[-lqt])
3280 dnl    ])
3281 dnl  ])
3282 dnl  NEED_QTE_MAIN=yes
3283 dnl  LDFLAGS="${LDFLAGS_save}"
3284 dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3285 dnl fi
3286
3287 dnl
3288 dnl Roku HD1000 Video output module
3289 dnl
3290 AC_ARG_ENABLE(hd1000v,
3291   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3292 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3293   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3294    test "${enable_hd1000v}" = "yes"); then
3295   AC_LANG_PUSH([C++])
3296   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3297   [
3298     can_build_roku="yes"
3299   ],
3300   [
3301     can_build_roku="no"
3302     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3303   ])
3304   if test "$can_build_roku" = "yes"
3305   then
3306     VLC_ADD_PLUGINS([hd1000v])
3307     VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3308   fi
3309   AC_LANG_POP([C++])
3310 fi
3311
3312 dnl
3313 dnl  Windows DirectX module
3314 dnl
3315 AC_ARG_ENABLE(directx,
3316   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3317 if test "${enable_directx}" != "no"
3318 then
3319   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3320   then
3321     AC_ARG_WITH(directx,
3322     [    --with-directx=PATH   Win32 DirectX headers])
3323     if test -z "${with_directx}"
3324     then
3325       AC_CHECK_HEADERS(ddraw.h,
3326       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3327         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3328         dnl to be moved when dependance is removed
3329         AC_CHECK_HEADERS(GL/gl.h, [
3330             VLC_ADD_PLUGINS([glwin32])
3331             VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3332         ]) ])
3333     else
3334       AC_MSG_CHECKING(for directX headers in ${with_directx})
3335       if test -f ${with_directx}/ddraw.h
3336       then
3337         VLC_ADD_PLUGINS([vout_directx aout_directx])
3338         VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3339         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3340         AC_MSG_RESULT(yes)
3341       else
3342         AC_MSG_RESULT(no)
3343         AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3344       fi
3345     fi
3346   fi
3347 fi
3348
3349 dnl
3350 dnl  Linux framebuffer module
3351 dnl
3352 AC_ARG_ENABLE(fb,
3353   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3354     if test "${enable_fb}" != "no"
3355     then
3356       AC_CHECK_HEADERS(linux/fb.h, [
3357         VLC_ADD_PLUGINS([fb])
3358       ])
3359     fi
3360
3361 dnl
3362 dnl  Linux MGA module
3363 dnl
3364 AC_ARG_ENABLE(mga,
3365   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3366   [ if test "${enable_mga}" = "yes"
3367     then
3368       VLC_ADD_PLUGINS([mga])
3369     fi ])
3370
3371 dnl
3372 dnl  SVGAlib module
3373 dnl
3374 AC_ARG_ENABLE(svgalib,
3375   [  --enable-svgalib        SVGAlib support (default disabled)])
3376 if test "${enable_svgalib}" = "yes"
3377 then
3378   VLC_ADD_PLUGINS([svgalib])
3379   VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3380 fi
3381
3382 dnl
3383 dnl  GGI module
3384 dnl
3385 AC_ARG_ENABLE(ggi,
3386   [  --enable-ggi            GGI support (default disabled)])
3387 if test "${enable_ggi}" = "yes"
3388 then
3389   VLC_ADD_PLUGINS([ggi])
3390   VLC_ADD_LDFLAGS([ggi],[-lggi])
3391   AC_ARG_WITH(ggi,
3392     [    --with-ggi=PATH       path to libggi],
3393     [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3394       then
3395         VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3396         VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3397       fi ])
3398 fi
3399
3400 dnl
3401 dnl  Glide module
3402 dnl
3403 AC_ARG_ENABLE(glide,
3404   [  --enable-glide          Glide (3dfx) support (default disabled)])
3405 if test "${enable_glide}" = "yes"
3406 then
3407   VLC_ADD_PLUGINS([glide])
3408   VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3409   VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3410   AC_ARG_WITH(glide,
3411     [    --with-glide=PATH     path to libglide],
3412     [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3413       then
3414         VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3415         VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3416       fi ])
3417 fi
3418
3419 dnl
3420 dnl  AA plugin
3421 dnl
3422 AC_ARG_ENABLE(aa,
3423   [  --enable-aa             aalib output (default disabled)])
3424 if test "${enable_aa}" = "yes"
3425 then
3426   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3427   if test "${have_aa}" = "true"
3428   then
3429     VLC_ADD_PLUGINS([aa])
3430     VLC_ADD_LDFLAGS([aa],[-laa])
3431   fi
3432 fi
3433
3434 dnl
3435 dnl  libcaca plugin
3436 dnl
3437 AC_ARG_ENABLE(caca,
3438   [  --enable-caca           libcaca output (default disabled)])
3439 if test "${enable_caca}" = "yes"
3440 then
3441   CACA_PATH="${PATH}"
3442   AC_ARG_WITH(caca-config-path,
3443     [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3444     [ if test "${with_caca_config_path}" != "no"
3445       then
3446         CACA_PATH="${with_caca_config_path}:${PATH}"
3447       fi ])
3448   AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3449   if test "${CACA_CONFIG}" != "no"
3450   then
3451     VLC_ADD_PLUGINS([caca])
3452     VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3453     VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3454   fi
3455 fi
3456
3457 dnl
3458 dnl  win32 GDI plugin
3459 dnl
3460 AC_ARG_ENABLE(wingdi,
3461   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3462 if test "${enable_wingdi}" != "no"; then
3463   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3464     VLC_ADD_PLUGINS([wingdi])
3465     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3466   fi
3467   if test "${SYS}" = "mingwce"; then
3468     VLC_ADD_PLUGINS([wingdi wingapi])
3469   fi
3470 fi
3471
3472 dnl
3473 dnl  Audio plugins
3474 dnl
3475
3476 AC_ARG_WITH(,[Audio plugins:])
3477
3478 dnl
3479 dnl  OSS /dev/dsp module (enabled by default except on win32)
3480 dnl
3481 AC_ARG_ENABLE(oss,
3482   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
3483
3484 if test "${enable_oss}" != "no" &&
3485   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3486    test "${enable_oss}" = "yes")
3487 then
3488   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3489     VLC_ADD_PLUGINS([oss])
3490     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3491   ])
3492 fi
3493
3494 dnl
3495 dnl  Esound module
3496 dnl
3497 AC_ARG_ENABLE(esd,
3498   [  --enable-esd            Esound library support (default disabled)],
3499   [if test "${enable_esd}" = "yes"
3500    then
3501      AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3502      if test "${ESD_CONFIG}" != "no"
3503      then
3504        VLC_ADD_PLUGINS([esd])
3505        VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3506        VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3507      fi
3508    fi])
3509
3510 dnl
3511 dnl  Portaudio module
3512 dnl
3513 AC_ARG_ENABLE(portaudio,
3514   [  --enable-portaudio      Portaudio library support (default disabled)],
3515   [if test "${enable_portaudio}" = "yes"
3516    then
3517      VLC_ADD_PLUGINS([portaudio])
3518      VLC_ADD_CXXFLAGS([portaudio],[])
3519      if test "${SYS}" = "mingw32"; then
3520         VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3521      else
3522         VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3523      fi
3524    fi])
3525
3526 dnl
3527 dnl  aRts module -- broken (freeze wxWidgets)
3528 dnl
3529 AC_ARG_ENABLE(arts,
3530  [  --enable-arts           aRts sound server (default disabled)],
3531  [if test "${enable_arts}" = "yes"
3532   then
3533     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3534     if test "${ARTS_CONFIG}" != "no"
3535     then
3536       VLC_ADD_PLUGINS([arts])
3537       VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3538       VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3539     fi
3540   fi])
3541
3542 dnl
3543 dnl  ALSA module
3544 dnl
3545 AC_ARG_ENABLE(alsa,
3546   [  --enable-alsa           ALSA sound support for Linux (default enabled)])
3547 if test "${enable_alsa}" != "no"
3548 then
3549   AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3550   if test "${have_alsa}" = "true"
3551   then
3552     CFLAGS="${CFLAGS_save}"
3553     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3554                     #define ALSA_PCM_NEW_SW_PARAMS_API
3555                     #include <alsa/asoundlib.h>],
3556        [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3557         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3558     VLC_ADD_PLUGINS([alsa])
3559     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3560   else
3561     if test "${enable_alsa}" = "yes"; then
3562       AC_MSG_ERROR([Could not find ALSA development headers])
3563     fi
3564   fi
3565 fi
3566
3567 dnl
3568 dnl  win32 waveOut plugin
3569 dnl
3570 AC_ARG_ENABLE(waveout,
3571   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
3572 if test "${enable_waveout}" != "no"; then
3573   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3574     VLC_ADD_PLUGINS([waveout])
3575     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3576   fi
3577   if test "${SYS}" = "mingwce"; then
3578     VLC_ADD_PLUGINS([waveout])
3579   fi
3580 fi
3581
3582 dnl
3583 dnl  CoreAudio plugin
3584 dnl
3585 AC_ARG_ENABLE(coreaudio,
3586   [  --enable-coreaudio      CoreAudio module (default enabled on MacOS X)])
3587 if test "${enable_coreaudio}" != "no" &&
3588   (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3589 then
3590   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
3591     [ VLC_ADD_BUILTINS([coreaudio auhal])
3592       VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
3593     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3594 fi
3595
3596 dnl
3597 dnl  Roku HD1000 audio
3598 dnl
3599 AC_ARG_ENABLE(hd1000a,
3600   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
3601 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3602   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3603    test "${enable_hd1000a}" = "yes")
3604 then
3605   AC_LANG_PUSH([C++])
3606   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3607     VLC_ADD_PLUGINS([hd1000a])
3608     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
3609   AC_LANG_POP([C++])
3610 fi
3611
3612 dnl
3613 dnl  CyberLink for C++ UPnP stack
3614 dnl
3615 AC_ARG_ENABLE(cyberlink,
3616   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
3617 if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then
3618   AC_ARG_WITH(cyberlink-tree,
3619     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
3620
3621   dnl
3622   dnl test for --with-cyberlink-tree
3623   dnl
3624   if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then
3625     AC_LANG_PUSH(C++)
3626     real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
3627     if test -z "${real_cyberlink_tree}"
3628     then
3629       dnl  The given directory can't be found
3630       AC_MSG_RESULT(no)
3631       AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
3632     fi
3633     CXXFLAGS_save="${CXXFLAGS}"
3634     CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
3635     CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}"
3636     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
3637       [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}])
3638         VLC_ADD_PLUGINS([upnp]) 
3639       ],[
3640         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
3641       ])
3642     AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
3643     if test -f "${real_cyberlink_tree}/lib/unix/libclink.a"
3644     then
3645       AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
3646       VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat])
3647     else
3648       AC_MSG_RESULT(no)
3649        AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
3650     fi
3651     CXXFLAGS="${CXXFLAGS_save}"
3652     AC_LANG_POP([C++])
3653   fi
3654 fi
3655
3656 dnl
3657 dnl  Interface plugins
3658 dnl
3659
3660 AC_ARG_WITH(,[Interface plugins:])
3661
3662 dnl special case for BeOS
3663 if test "${SYS}" = "beos"
3664 then
3665     VLC_ADD_BUILTINS([beos])
3666 fi
3667
3668 dnl
3669 dnl Skins2 module
3670 dnl
3671 AC_ARG_ENABLE(skins2,
3672   [  --enable-skins2         Skins2 interface module (experimental)])
3673 if test "${enable_skins2}" = "yes" ||
3674   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
3675    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
3676
3677   dnl test for the required libraries
3678   skins2_missing_lib="no"
3679
3680   dnl freetype
3681   if test "${FREETYPE_CONFIG}" != "no"; then
3682     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
3683     VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
3684   else
3685     skins2_missing_lib="yes"
3686     if test "${enable_skins2}" = "yes"; then
3687       AC_MSG_ERROR([Could not find freetype (required for skins2)])
3688     fi
3689   fi
3690
3691   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
3692     VLC_ADD_PLUGINS([skins2])
3693     ALIASES="${ALIASES} svlc"
3694     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3695     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3696     VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
3697
3698   else if test "${skins2_missing_lib}" = "no"; then
3699     VLC_ADD_PLUGINS([skins2])
3700     ALIASES="${ALIASES} svlc"
3701     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
3702     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3703     VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
3704   fi fi
3705 fi
3706
3707
3708 dnl dnl
3709 dnl dnl  Gtk+ module
3710 dnl dnl
3711 dnl AC_ARG_ENABLE(gtk,
3712 dnl   [  --enable-gtk            Gtk+ support (default enabled)])
3713 dnl if test "${enable_gtk}" != "no"
3714 dnl then
3715 dnl   GTK_PATH="${PATH}"
3716 dnl   AC_ARG_WITH(gtk-config-path,
3717 dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
3718 dnl     [ if test "${with_gtk_config_path}" != "no"
3719 dnl       then
3720 dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
3721 dnl       fi ])
3722 dnl   # look for gtk-config
3723 dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
3724 dnl   GTK_CONFIG=${GTK12_CONFIG}
3725 dnl   if test "${GTK_CONFIG}" = "no"
3726 dnl   then
3727 dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
3728 dnl   fi
3729 dnl   if test "${GTK_CONFIG}" != "no"
3730 dnl   then
3731 dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
3732 dnl     then
3733 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.])
3734 dnl     fi
3735 dnl     if test "${SYS}" != "mingw32"; then
3736 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
3737 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
3738 dnl     else
3739 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
3740 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
3741 dnl     fi
3742 dnl     # now look for the gtk.h header
3743 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
3744 dnl     ac_cv_gtk_headers=yes
3745 dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
3746 dnl       ac_cv_gtk_headers=no
3747 dnl       echo "Cannot find gtk development headers."
3748 dnl     ])
3749 dnl     if test "${ac_cv_gtk_headers}" = "yes"
3750 dnl     then
3751 dnl       VLC_ADD_PLUGINS([gtk])
3752 dnl       if test "${SYS}" != "mingw32"; then
3753 dnl         NEED_GTK_MAIN=yes
3754 dnl       fi
3755 dnl       ALIASES="${ALIASES} gvlc"
3756 dnl     fi
3757 dnl     CPPFLAGS="${CPPFLAGS_save}"
3758 dnl   fi
3759 dnl fi
3760 dnl 
3761 dnl
3762 dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
3763 dnl
3764 dnl AC_ARG_ENABLE(gtk2,
3765 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
3766 dnl if test "${enable_gtk2}" = "yes"
3767 dnl then
3768 dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])