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