]> git.sesse.net Git - vlc/blob - configure.ac
* Bonjour services discovery module using avahi.
[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         VLC_ADD_LDFLAGS([ipv4],[-liphlpapi])
175     fi
176     if test "${SYS}" = "mingwce"; then
177         # add ws2 for closesocket, select, recv
178         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
179         VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
180         VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
181         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
182          VLC_ADD_LDFLAGS([ipv4],[-liphlpapi])
183    fi
184     ;;
185   *nto*)
186     SYS=nto
187     VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
188     ;;
189   solaris*)
190     SYS=solaris
191     # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
192     # Perhaps it is useful other places as well? 
193     CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
194     ;;
195   hpux*)
196     SYS=hpux
197     ;;
198   beos)
199     SYS=beos
200     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
201     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
202     VLC_ADD_CXXFLAGS([beos],[])
203     VLC_ADD_LDFLAGS([vlc beos],[-lbe])
204     VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
205     VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
206
207     dnl Ugly check for Zeta
208     if test -f /boot/beos/system/lib/libzeta.so; then
209         VLC_ADD_LDFLAGS([beos],[-lzeta])
210     fi
211     ;;
212   *)
213     SYS="${target_os}"
214     ;;
215 esac
216 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
217 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
218 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
219 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
220
221 dnl
222 dnl Gettext stuff
223 dnl
224 ALL_LINGUAS="ca da de en_GB es fr it ja ko nl pt_BR ro ru tr zh_TW"
225 AM_GNU_GETTEXT_VERSION(0.11.5)
226 AM_GNU_GETTEXT
227 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
228   AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
229   INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
230 else
231   AC_CHECK_FUNCS(textdomain,,[
232     AC_CHECK_LIB(intl,textdomain,
233       VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
234       ${LIBINTL}
235     )
236   ])
237 fi
238 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
239 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
240
241 dnl
242 dnl Iconv stuff
243 dnl
244 AS_IF([test "$am_cv_func_iconv" != "yes"],
245         [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
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)
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 AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
1063     [ac_cv_mmxext_inline],
1064     [CFLAGS="${CFLAGS_save}"
1065      AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
1066                     ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
1067 if test "${ac_cv_mmxext_inline}" != "no"; then
1068   AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
1069   ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
1070 fi
1071
1072 AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
1073     [ac_cv_3dnow_inline],
1074     [CFLAGS="${CFLAGS_save}"
1075      AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
1076                     ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
1077 if test "${ac_cv_3dnow_inline}" != "no"; then
1078   AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
1079   ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
1080 fi
1081
1082 AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
1083     [ac_cv_sse_inline],
1084     [CFLAGS="${CFLAGS_save}"
1085      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
1086                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
1087 if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
1088   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
1089   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
1090 fi
1091
1092 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
1093 AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
1094     [ac_cv_altivec_inline],
1095     [CFLAGS="${CFLAGS_save}"
1096      AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1097          ac_cv_altivec_inline=yes,
1098          [CFLAGS="${CFLAGS_save} -Wa,-m7400"
1099           AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
1100             [ac_cv_altivec_inline="-Wa,-m7400"],
1101             ac_cv_altivec_inline=no)
1102          ])])
1103 if test "${ac_cv_altivec_inline}" != "no"; then
1104   AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
1105   if test "${ac_cv_altivec_inline}" != "yes"; then
1106     VLC_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
1107     VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
1108     VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
1109     VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
1110     VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
1111   fi
1112   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1113 fi
1114
1115 dnl The AltiVec C extensions
1116 dnl
1117 dnl There are several possible cases:
1118 dnl - OS X PPC, gcc 4.x: use -mpim-altivec, don't need <altivec.h>
1119 dnl - OS X PPC, gcc 3.x: need -faltivec, don't need <altivec.h>
1120 dnl - Linux PPC, gcc 4.x: need <altivec.h> which itself requires -maltivec
1121 dnl - Linux PPC, gcc 3.3: need <altivec.h> and -maltivec -mabi=altivec
1122 dnl - Linux PPC, gcc 3.x: need <altivec.h> and -fvec
1123 dnl - Others: test should fail
1124 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
1125   [ac_cv_c_altivec],
1126   [# OS X/PPC test (gcc 4.x)
1127    CFLAGS="${CFLAGS_save} -mpim-altivec"
1128    AC_TRY_COMPILE([],
1129      [vec_ld(0, (unsigned char *)0);],
1130      [ac_cv_c_altivec="-mpim-altivec"],
1131      [# OS X/PPC test (gcc 3.x)
1132       CFLAGS="${CFLAGS_save} -faltivec"
1133       AC_TRY_COMPILE([],
1134         [vec_ld(0, (unsigned char *)0);],
1135         [ac_cv_c_altivec="-faltivec"],
1136         dnl Below this are the Linux tests
1137         [# Linux/PPC test (gcc 4.x)
1138          CFLAGS="${CFLAGS_save} -maltivec"
1139          AC_TRY_COMPILE([#include <altivec.h>],
1140            [vec_ld(0, (unsigned char *)0);],
1141            [ac_cv_c_altivec="-maltivec"],
1142            [# Linux/PPC test (gcc 3.3)
1143             CFLAGS="${CFLAGS_save} -maltivec -mabi=altivec"
1144             AC_TRY_COMPILE([#include <altivec.h>],
1145               [vec_ld(0, (unsigned char *)0);],
1146               [ac_cv_c_altivec=""
1147                ac_cv_c_altivec_abi="-maltivec -mabi=altivec"],
1148               [# Linux/PPC test (gcc 3.3)
1149                CFLAGS="${CFLAGS_save} -fvec"
1150                AC_TRY_COMPILE([#include <altivec.h>],
1151                  [vec_ld(0, (unsigned char *)0);],
1152                  [ac_cv_c_altivec="-fvec"],
1153                  [ac_cv_c_altivec=no])
1154               ])
1155            ])
1156         ])
1157      ])
1158    CFLAGS="${CFLAGS_save}"
1159   ])
1160
1161 if test "${ac_cv_c_maltivec}" != "no"; then
1162   CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_maltivec}"
1163 fi
1164 AC_CHECK_HEADERS(altivec.h)
1165 CPPFLAGS="${CPPFLAGS_save}"
1166
1167 if test "${ac_cv_c_altivec}" != "no"; then
1168   AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
1169   VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
1170   VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
1171   VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
1172   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
1173 fi
1174
1175 AC_CACHE_CHECK([if linker needs -framework vecLib],
1176     [ac_cv_ld_altivec],
1177     [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
1178      AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
1179      LDFLAGS="${LDFLAGS_save}"
1180     ])
1181 if test "${ac_cv_ld_altivec}" != "no"; then
1182   VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
1183 fi
1184 fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1185
1186 AC_ARG_WITH(,[])
1187 AC_ARG_WITH(,[Optimization options:])
1188
1189 dnl
1190 dnl  Special arch tuning
1191 dnl
1192 AC_ARG_WITH(tuning,
1193 [  --with-tuning=ARCH      enable special tuning for an architecture
1194                           (default Pentium 2 on IA-32 and 750 on PPC)])
1195 if test -n "${with_tuning}"; then
1196     CFLAGS_TUNING="-mtune=${with_tuning}"
1197 else
1198     if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
1199         CFLAGS_TUNING="-mtune=pentium2"
1200     elif test "${target_cpu}" = "x86_64"; then
1201         CFLAGS_TUNING="-mtune=athlon64"
1202     elif test "${target_cpu}" = "powerpc"; then
1203         CFLAGS_TUNING="-mtune=750";
1204     fi
1205
1206     dnl NOTE: this can't be cached cleanly
1207     AS_IF([test "${CFLAGS_TUNING}"],
1208        [CFLAGS_save="${CFLAGS}"
1209         CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
1210
1211         AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
1212         AC_COMPILE_IFELSE([ ], [tuning="yes"],
1213                                [CFLAGS_TUNING=""; tuning="no"])
1214
1215         AC_MSG_RESULT([$tuning])
1216         CFLAGS="${CFLAGS_save}"
1217     ])
1218 fi
1219
1220 dnl
1221 dnl  x86 accelerations
1222 dnl
1223 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
1224 then
1225     ARCH="${ARCH} mmx"
1226     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
1227 fi
1228
1229 dnl
1230 dnl  Memory usage
1231 dnl
1232 AC_ARG_ENABLE(optimize-memory,
1233 [  --enable-optimize-memory      optimize memory usage over performance])
1234 if test "${enable_optimize_memory}" = "yes"; then
1235   AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance)
1236 fi
1237
1238 dnl
1239 dnl  Enable/disable optimizations
1240 dnl
1241 AC_ARG_ENABLE(optimizations,
1242 [  --disable-optimizations disable compiler optimizations (default enabled)])
1243 test "${enable_optimizations}" != "no" && enable_optimizations="yes"
1244
1245 dnl
1246 dnl  AltiVec acceleration
1247 dnl
1248 AC_ARG_ENABLE(altivec,
1249 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
1250 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
1251     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
1252 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
1253     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
1254
1255 dnl
1256 dnl  Debugging mode
1257 dnl
1258 AC_ARG_ENABLE(debug,
1259 [  --enable-debug          debug mode (default disabled)])
1260 test "${enable_debug}" != "yes" && enable_debug="no"
1261
1262 dnl
1263 dnl  Enable release-specific flags
1264 dnl
1265 AC_ARG_ENABLE(release,
1266 [  --enable-release        activate extra optimizations (default disabled)])
1267 test "${enable_release}" != "yes" && enable_release="no"
1268
1269 dnl
1270 dnl Stream output
1271 dnl
1272 AC_ARG_ENABLE(sout,
1273   [  --enable-sout           Stream output modules (default enabled)])
1274 if test "${enable_sout}" != "no"
1275 then
1276   VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
1277   VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg])
1278   VLC_ADD_PLUGINS([packetizer_copy])
1279
1280   VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp])
1281   VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge])
1282 #  VLC_ADD_PLUGINS([stream_out_transrate])
1283
1284   AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support)
1285 fi
1286
1287 dnl Check for libshout
1288 AC_ARG_ENABLE(shout,
1289   [  --enable-shout          libshout output plugin (default disabled)])
1290 if test "${enable_shout}" = "yes"; then
1291   PKG_CHECK_MODULES(SHOUT, shout >= 2.1,
1292     [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library])
1293      VLC_ADD_PLUGINS([access_output_shout])
1294      VLC_ADD_LDFLAGS([vlc access_output_shout],[$SHOUT_LIBS])
1295      VLC_ADD_CFLAGS([vlc access_output_shout],[$SHOUT_CFLAGS])],
1296     [AC_MSG_WARN(libshout library not found)])
1297 fi
1298
1299 dnl
1300 dnl HTTP daemon
1301 dnl
1302 AC_ARG_ENABLE(httpd,
1303   [  --enable-httpd          HTTP daemon (default enabled)])
1304 if test "${enable_httpd}" != "no"
1305 then
1306   VLC_ADD_PLUGINS([http])
1307   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
1308 fi
1309
1310 dnl
1311 dnl VideoLAN manager
1312 dnl
1313 AC_ARG_ENABLE(vlm,
1314   [  --enable-vlm            VideoLAN manager (default enabled)])
1315 if test "${enable_vlm}" != "no"
1316 then
1317   AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support)
1318 fi
1319
1320 dnl
1321 dnl TLS/SSL
1322 dnl
1323 AC_ARG_ENABLE(gnutls,
1324   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
1325 AS_IF([test "${enable_gnutls}" != "no"], [
1326
1327   gcrypt_LIBS="-lgpg-error"
1328   AS_IF([test "${SYS}" = "mingw32"],
1329     [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
1330      VLC_ADD_LDFLAGS([gnutls],[-lws2_32])]
1331   )
1332
1333   gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
1334
1335   AC_CHECK_HEADER(gcrypt.h,
1336     [AC_CHECK_LIB(gcrypt, gcry_control,
1337       [AC_CHECK_HEADER(gnutls/gnutls.h,
1338         [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
1339           [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],,
1340      ${gcrypt_LIBS})])
1341
1342   AS_IF([test "${have_gnutls}" = "yes"], [
1343     VLC_ADD_PLUGINS([gnutls])
1344     VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
1345   ], [
1346     AS_IF([test "${enable_gnutls}" = "yes"], [
1347       AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])]
1348     )]
1349   )]
1350 )
1351
1352
1353 dnl
1354 dnl  Input plugins
1355 dnl
1356
1357 AC_ARG_WITH(,[Input plugins:])
1358
1359 dnl  live.com input
1360 dnl
1361 AC_ARG_ENABLE(livedotcom,
1362 [  --enable-livedotcom     live.com RTSP input plugin (default disabled)])
1363 if test "${enable_livedotcom}" = "yes"; then
1364   AC_ARG_WITH(livedotcom-tree,
1365     [    --with-livedotcom-tree=PATH live.com tree for static linking])
1366
1367   dnl
1368   dnl test for --with-livedotcom-tree
1369   dnl
1370   if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then
1371     AC_LANG_PUSH(C++)
1372     CPPFLAGS_save="${CPPFLAGS}"
1373     CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
1374     CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
1375     AC_CHECK_HEADERS(liveMedia.hh, [
1376       VLC_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
1377       AC_CHECK_LIB(liveMedia_pic, main, [
1378         # We have -lliveMedia_pic, build plugins
1379         VLC_ADD_PLUGINS([livedotcom])
1380         VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
1381       ], [
1382         AC_CHECK_LIB(liveMedia, main, [
1383           # We only have -lliveMedia, do builtins
1384           VLC_ADD_BUILTINS([livedotcom])
1385           VLC_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
1386         ])
1387       ])
1388       if test "${SYS}" = "mingw32"; then
1389         # add ws2_32 for closesocket, select, recv
1390         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1391       fi
1392     ])
1393     CPPFLAGS="${CPPFLAGS_save}"
1394     AC_LANG_POP(C++)
1395   else
1396     AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
1397     real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
1398     if test -z "${real_livedotcom_tree}"; then
1399       dnl  The given directory can't be found
1400       AC_MSG_RESULT(no)
1401       AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
1402     fi
1403     if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
1404       AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
1405
1406       VLC_ADD_BUILTINS([livedotcom])
1407
1408       if test "${SYS}" = "mingw32"; then
1409         # add ws2_32 for closesocket, select, recv
1410         VLC_ADD_LDFLAGS([livedotcom],[-lws2_32])
1411       fi
1412
1413       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
1414       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
1415       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
1416       VLC_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
1417
1418       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
1419       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
1420       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
1421       VLC_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
1422     else
1423       dnl  The given live.com wasn't built
1424       AC_MSG_RESULT(no)
1425       AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
1426     fi
1427   fi
1428 fi
1429
1430
1431 dnl
1432 dnl dvdread module: check for libdvdread
1433 dnl
1434 AC_ARG_ENABLE(dvdread,
1435 [  --enable-dvdread        dvdread input module (default disabled)])
1436 if test "${enable_dvdread}" != "no"
1437 then
1438   AC_ARG_WITH(dvdread,
1439   [    --with-dvdread=PATH   libdvdread headers and libraries])
1440   AC_ARG_WITH(dvdread-tree,
1441   [    --with-dvdread-tree=PATH libdvdread tree for static linking])
1442
1443   dnl Temporary hack (yeah, sure ;)
1444   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1445       VLC_ADD_LDFLAGS([dvdread],[-ldvdcss])
1446   fi
1447
1448   if test -z "${with_dvdread}"
1449   then
1450     if test -z "${with_dvdread_tree}"
1451     then
1452       AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1453         [ VLC_ADD_PLUGINS([dvdread])
1454           VLC_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
1455         ],[
1456           if test -n "${enable_dvdread}"
1457           then
1458             AC_MSG_ERROR([cannot find libdvdread headers])
1459           fi
1460         ])
1461     else
1462       AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
1463       real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
1464       if test -z "${real_dvdread_tree}"
1465       then
1466         dnl  The given directory can't be found
1467         AC_MSG_RESULT(no)
1468         AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
1469       fi
1470       if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1471       then
1472         dnl  Use a custom libdvdread
1473         AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
1474         VLC_ADD_BUILTINS([dvdread])
1475         VLC_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
1476         VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
1477       else
1478         dnl  The given libdvdread wasn't built
1479         AC_MSG_RESULT(no)
1480         AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
1481       fi
1482     fi
1483   else
1484     AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
1485     if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1486     then
1487       dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
1488       AC_MSG_RESULT(yes)
1489       VLC_ADD_PLUGINS([dvdread])
1490       VLC_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
1491       VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
1492     else
1493       dnl  No libdvdread could be found, sorry
1494       AC_MSG_RESULT(no)
1495       AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1496     fi
1497   fi
1498 fi
1499
1500 dnl
1501 dnl  libdvdnav plugin
1502 dnl
1503 AC_ARG_ENABLE(dvdnav,
1504   [  --enable-dvdnav         dvdnav input module (default enabled)])
1505 if test "${enable_dvdnav}" != "no"
1506 then
1507   dnl Same hack than dvdread
1508   if test "${SYS}" = "mingw32" || test "${SYS}" = "darwin" || test "${SYS}" = "beos" ; then
1509       VLC_ADD_LDFLAGS([dvdnav],[-ldvdcss])
1510   fi
1511
1512   DVDNAV_PATH="${PATH}"
1513   AC_ARG_WITH(dvdnav-config-path,
1514     [    --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
1515     [ if test "${with_dvdnav_config_path}" != "no"
1516       then
1517         DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
1518       fi ])
1519   AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
1520   if test "${DVDNAV_CONFIG}" != "no"
1521   then
1522     VLC_ADD_PLUGINS([dvdnav])
1523     VLC_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
1524     VLC_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
1525   fi
1526 fi
1527
1528 dnl
1529 dnl  Windows DirectShow access module
1530 dnl
1531 AC_ARG_ENABLE(dshow,
1532   [  --enable-dshow          Win32 DirectShow support (default enabled on Win32)])
1533 if test "${enable_dshow}" != "no"
1534 then
1535   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
1536   then
1537       AC_CHECK_HEADERS(dshow.h,
1538       [ VLC_ADD_PLUGINS([dshow])
1539         VLC_ADD_CXXFLAGS([dshow],[])
1540         VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ])
1541   fi
1542 fi
1543
1544 dnl
1545 dnl  libsmbclient plugin
1546 dnl
1547 AC_ARG_ENABLE(smb,
1548   [  --enable-smb            smb input module (default enabled)])
1549 if test "${enable_smb}" != "no"; then
1550   AC_CHECK_HEADERS(libsmbclient.h,
1551     [ VLC_ADD_PLUGINS([access_smb])
1552       VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ],
1553     [ if test -n "${enable_smb}"; then
1554         AC_MSG_ERROR([cannot find libsmbclient headers])
1555      fi ])
1556   AC_CHECK_MEMBER([struct _SMBCCTX.close_fn],
1557     AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),,
1558     [#include <libsmbclient.h>])
1559 fi
1560
1561 dnl
1562 dnl  libdvbpsi ts demux/mux
1563 dnl
1564 AC_ARG_ENABLE(dvbpsi,
1565 [  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
1566 if test "${enable_dvbpsi}" != "no"
1567 then
1568   AC_ARG_WITH(dvbpsi,
1569   [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
1570   AC_ARG_WITH(dvbpsi,
1571   [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1572   case "${with_dvbpsi}" in
1573   ""|yes)
1574     if test -z "${with_dvbpsi_tree}"
1575     then
1576       AC_CHECK_HEADERS(dvbpsi/dr.h,
1577         [ VLC_ADD_PLUGINS([ts])
1578           if test "${enable_sout}" != "no"; then
1579             VLC_ADD_BUILTINS([mux_ts])
1580           fi
1581           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
1582         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
1583         [#if defined( HAVE_STDINT_H )
1584 #   include <stdint.h>
1585 #elif defined( HAVE_INTTYPES_H )
1586 #   include <inttypes.h>
1587 #endif
1588 #include <dvbpsi/dvbpsi.h>
1589 #include <dvbpsi/descriptor.h>
1590 #include <dvbpsi/pat.h>
1591 #include <dvbpsi/pmt.h>])
1592     else
1593       AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
1594       real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1595       if test -z "${real_dvbpsi_tree}"
1596       then
1597         dnl  The given directory can't be found
1598         AC_MSG_RESULT(no)
1599         AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
1600       fi
1601       if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
1602       then
1603         dnl  Use a custom libdvbpsi
1604         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1605         VLC_ADD_BUILTINS([ts])
1606         if test "${enable_sout}" != "no"; then
1607           VLC_ADD_BUILTINS([mux_ts])
1608         fi
1609         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
1610         VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
1611       else
1612         dnl  The given libdvbpsi wasn't built
1613         AC_MSG_RESULT(no)
1614         AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
1615       fi
1616     fi
1617   ;;
1618   no)
1619     dnl  Compile without dvbpsi
1620   ;;
1621   *)
1622     AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1623     if test -z "${with_dvbpsi}"
1624     then
1625       LDFLAGS_test=""
1626       CPPFLAGS_test=""
1627     else
1628       LDFLAGS_test="-L${with_dvbpsi}/lib"
1629       CPPFLAGS_test="-I${with_dvbpsi}/include"
1630     fi
1631     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1632     AC_CHECK_HEADERS([dvbpsi/dr.h],[
1633       VLC_ADD_PLUGINS([ts])
1634       if test "${enable_sout}" != "no"; then
1635         VLC_ADD_PLUGINS([mux_ts])
1636       fi
1637       VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}])
1638       VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi])
1639
1640     ],[
1641       if test -n "${enable_dvbpsi}"
1642       then
1643         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])
1644       fi
1645     ])
1646     CPPFLAGS="${CPPFLAGS_save}"
1647   ;;
1648   esac
1649 fi
1650
1651 dnl
1652 dnl  Video4Linux plugin
1653 dnl
1654 AC_ARG_ENABLE(v4l,
1655   [  --enable-v4l            Video4Linux input support (default disabled)])
1656 if test "${enable_v4l}" = "yes"
1657 then
1658   AC_ARG_WITH(v4l,
1659     [    --with-v4l=PATH       path to a v4l-enabled kernel tree],[],[])
1660   if test "${with_v4l}" != "no" -a -n "${with_v4l}"
1661   then
1662     VLC_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
1663   fi
1664
1665   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
1666   AC_CHECK_HEADERS(linux/videodev.h, [
1667     VLC_ADD_PLUGINS([v4l])
1668   ],[])
1669   CPPFLAGS="${CPPFLAGS_save}"
1670 fi
1671
1672 dnl
1673 dnl  special access module for Hauppauge PVR cards
1674 dnl
1675 AC_ARG_ENABLE(pvr,
1676   [  --enable-pvr            PVR cards access module (default disabled)])
1677 if test "${enable_pvr}" = "yes"
1678 then
1679   VLC_ADD_PLUGINS([pvr])
1680 fi
1681
1682 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1683 AC_ARG_ENABLE(libcdio,
1684   [  --enable-libcdio        CD input and control library support (default enabled)])
1685  
1686 have_libcdio=no
1687 have_libvcdinfo=no
1688 if test "${enable_libcdio}" != "no"
1689 then
1690   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1691      have_libcdio=yes
1692      AC_DEFINE(HAVE_LIBCDIO, [], 
1693      [Define if you have libcdio 0.72 or greater installed]),
1694      [AC_MSG_WARN(CD Reading and information library not found)])
1695
1696   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1697      [have_libvcdinfo=yes
1698      AC_DEFINE(HAVE_VCDINFO, [], 
1699      [Define if you have libvcdinfo 0.7.21 or greater installed])],
1700      [AC_MSG_WARN(VCD information library not found)])
1701 fi
1702
1703 dnl
1704 dnl  VCDX and CDDAX modules
1705 dnl
1706 AC_ARG_ENABLE(cddax,
1707   [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
1708  
1709 AC_ARG_ENABLE(libcddb,
1710   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
1711  
1712 if test "${enable_cddax}" = "yes"
1713 then
1714   if test "$have_libcdio" = "yes"
1715   then
1716     AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
1717     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1718     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1719     VLC_ADD_PLUGINS([cddax])
1720     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1721     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
1722     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
1723   else 
1724     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
1725     HAVE_CDDAX=no
1726   fi
1727
1728   if test "$enable_libcddb" != "no"; then
1729     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1730       HAVE_LIBCDDB=yes 
1731       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1732       VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1733       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1734       ],
1735       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
1736       HAVE_LIBCDDB=no])
1737   fi
1738  
1739 fi
1740
1741 AC_ARG_ENABLE(vcdx,
1742   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
1743  
1744 if test "${enable_vcdx}" = "yes"
1745 then
1746   if test "${have_libvcdinfo}" = "yes"
1747   then
1748     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1749     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1750   else 
1751     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
1752     HAVE_VCDX=no
1753   fi
1754
1755   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
1756    [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
1757     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
1758     [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
1759     HAVE_VCDX=no])
1760
1761   if test "$have_libvcdinfo" = "yes"
1762   then
1763     AC_DEFINE(HAVE_VCDX, [], 
1764     [Define for the VCD plugin using libcdio/libvcdinfo])
1765     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1766     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1767     VLC_ADD_PLUGINS([vcdx])
1768   else 
1769     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
1770     HAVE_VCDX=no
1771   fi
1772 fi
1773
1774 dnl
1775 dnl  Built-in CD-DA and VCD module
1776 dnl
1777 AC_ARG_ENABLE(cdda,           
1778   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
1779  
1780 AC_ARG_ENABLE(vcd,
1781   [  --enable-vcd            built-in VCD (default enabled)])
1782
1783 if test "${enable_vcd}" != "no"
1784 then
1785   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1786   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1787     AC_MSG_RESULT(yes)
1788     VLC_ADD_PLUGINS([vcd cdda])
1789   ],[
1790     AC_MSG_RESULT(no)
1791   ])
1792
1793   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1794   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1795     AC_MSG_RESULT(yes)
1796     VLC_ADD_PLUGINS([vcd cdda])
1797     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1798   ],[
1799     AC_MSG_RESULT(no)
1800   ])
1801
1802   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1803   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1804     AC_MSG_RESULT(yes)
1805     VLC_ADD_PLUGINS([vcd cdda])
1806     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1807   ],[
1808     AC_MSG_RESULT(no)
1809   ])
1810
1811   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
1812   then
1813     VLC_ADD_PLUGINS([vcd cdda])
1814   fi
1815
1816   if test "${SYS}" = "darwin"
1817   then
1818     VLC_ADD_PLUGINS([vcd cdda])
1819     VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
1820     VLC_ADD_LDFLAGS([vcdx cddax],[-liconv])
1821   fi
1822 fi
1823
1824 dnl
1825 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
1826 dnl
1827 AC_ARG_ENABLE(dvb,
1828   [  --enable-dvb            DVB-S/T/C card support (default disabled)])
1829
1830 if test "${enable_dvb}" = "yes"
1831 then
1832   AC_ARG_WITH(dvb,
1833   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
1834   if test "${with_dvb}" != "no" -a -n "${with_dvb}"
1835   then
1836     VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
1837   fi
1838   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
1839   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
1840     if test -z "${with_dvbpsi_tree}"
1841     then
1842       VLC_ADD_PLUGINS([dvb])
1843     else
1844       VLC_ADD_BUILTINS([dvb])
1845     fi
1846   ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
1847   CPPFLAGS="${CPPFLAGS_save}"
1848 fi
1849
1850 dnl
1851 dnl  Screen capture module
1852 dnl
1853 AC_ARG_ENABLE(screen,
1854   [  --enable-screen         Screen capture support (default enabled)])
1855 if test "${enable_screen}" != "no"; then
1856   if test "${SYS}" = "darwin"; then
1857     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1858       VLC_ADD_PLUGINS([screen])
1859       VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
1860     ])
1861   elif test "${SYS}" = "mingw32"; then
1862     VLC_ADD_PLUGINS([screen])
1863     VLC_ADD_LDFLAGS([screen],[-lgdi32])
1864   elif test "${SYS}" = "mingwce"; then
1865     CPPFLAGS="${CPPFLAGS_save}"
1866   elif test "${SYS}" = "beos"; then
1867     VLC_ADD_PLUGINS([screen])
1868     VLC_ADD_CXXFLAGS([screen],[])
1869     VLC_ADD_LDFLAGS([screen],[-lbe])
1870   else
1871     CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
1872     AC_CHECK_HEADERS(X11/Xlib.h, [
1873       VLC_ADD_PLUGINS([screen])
1874       VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
1875       VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
1876     ])
1877     CPPFLAGS="${CPPFLAGS_save}"
1878   fi
1879 fi
1880
1881 dnl
1882 dnl  ipv6 plugin - not for QNX yet
1883 dnl
1884 have_ipv6=no
1885 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
1886   AC_CHECK_LIB(resolv,inet_pton,
1887     [have_ipv6=yes
1888      VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
1889 ])
1890
1891 AS_IF([test "${have_ipv6}" == "yes"], [
1892   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
1893
1894 if test "${SYS}" != "nto" &&
1895    test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1896 then
1897   AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
1898   AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1899     [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
1900   AS_IF([test "${have_ipv6}" != "no"], [
1901     VLC_ADD_PLUGINS([ipv6])])
1902 fi
1903 if test "${SYS}" = "mingw32"
1904 then
1905   AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
1906   AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1907     VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
1908 fi
1909
1910 dnl
1911 dnl  ogg demux plugin
1912 dnl
1913 AC_ARG_ENABLE(ogg,
1914   [  --enable-ogg            Ogg demux support (default enabled)])
1915 if test "${enable_ogg}" != "no"
1916 then
1917   AC_CHECK_HEADERS(ogg/ogg.h, [
1918     AC_CHECK_LIB( ogg, oggpack_read, [
1919       VLC_ADD_PLUGINS([ogg])
1920       if test "${enable_sout}" != "no"; then
1921         VLC_ADD_PLUGINS([mux_ogg])
1922       fi
1923       VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
1924    ],[])
1925 fi
1926
1927 dnl
1928 dnl  matroska demux plugin
1929 dnl
1930 AC_ARG_ENABLE(mkv,
1931   [  --enable-mkv            Matroska demux support (default enabled)])
1932 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
1933   AC_LANG_PUSH(C++)
1934   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1935     AC_MSG_CHECKING(for libebml version >= 0.7.3)
1936     AC_EGREP_CPP(yes,
1937       [#include <ebml/EbmlVersion.h>
1938        #ifdef LIBEBML_VERSION
1939        #if LIBEBML_VERSION >= 0x000703
1940        yes
1941        #endif
1942        #endif],
1943       [AC_MSG_RESULT([yes])
1944         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
1945           AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
1946           AC_EGREP_CPP(yes,
1947             [#include <matroska/KaxVersion.h>
1948              #ifdef LIBMATROSKA_VERSION
1949              #if LIBMATROSKA_VERSION >= 0x000705
1950              yes
1951              #endif
1952              #endif],
1953             [AC_MSG_RESULT([yes])
1954               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
1955               VLC_ADD_CXXFLAGS([mkv],[])
1956               if test "${SYS}" = "darwin"; then
1957                 VLC_ADD_CXXFLAGS([mkv],[-O1])
1958               fi
1959               AC_CHECK_LIB(ebml_pic, main, [
1960                 # We have ebml_pic, that's good, we can build an mkv.so plugin !
1961                 VLC_ADD_PLUGINS([mkv])
1962                 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
1963               ], [
1964                 AC_CHECK_LIB(ebml, main, [
1965                   # We only have libebml, make mkv.a a builtin
1966                   VLC_ADD_BUILTINS([mkv])
1967                   VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
1968                 ])
1969               ])
1970             ],
1971             [AC_MSG_RESULT([no])
1972               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.])
1973           ])
1974         ])
1975       ],
1976       [AC_MSG_RESULT([no])
1977         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.])
1978     ])
1979   ])
1980   AC_LANG_POP(C++)
1981 fi
1982
1983 dnl
1984 dnl  modplug demux plugin
1985 dnl
1986 AC_ARG_ENABLE(mod,
1987   [  --enable-mod            Mod demux support (default enabled)])
1988 if test "${enable_mod}" != "no"
1989 then
1990   AC_CHECK_HEADERS(libmodplug/modplug.h, [
1991     VLC_ADD_PLUGINS([mod])
1992     VLC_ADD_CXXFLAGS([mod],[])
1993     VLC_ADD_LDFLAGS([mod],[-lmodplug])])
1994 fi
1995
1996 dnl
1997 dnl  Codec plugins
1998 dnl
1999
2000 AC_ARG_WITH(,[Codec plugins:])
2001
2002 dnl
2003 dnl  mad plugin
2004 dnl
2005 AC_ARG_ENABLE(mad,
2006   [  --enable-mad            libmad module (default enabled)])
2007 if test "${enable_mad}" != "no"
2008 then
2009   AC_ARG_WITH(mad,
2010     [    --with-mad=PATH       path to libmad],[],[])
2011   if test "${with_mad}" != "no" -a -n "${with_mad}"
2012   then
2013     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2014     VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2015   fi
2016
2017   AC_ARG_WITH(mad-tree,
2018     [    --with-mad-tree=PATH  mad tree for static linking],[],[])
2019   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2020   then
2021     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2022     if test -z "${real_mad_tree}"
2023     then
2024       dnl  The given directory can't be found
2025       AC_MSG_RESULT(no)
2026       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2027     fi
2028     dnl  Use a custom libmad
2029     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2030     if test -f ${real_mad_tree}/mad.h
2031     then
2032       AC_MSG_RESULT(yes)
2033       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2034       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2035       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2036       AC_CHECK_LIB(mad, mad_bit_init, [
2037         VLC_ADD_BUILTINS([mpgatofixed32])
2038         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2039         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2040       ],[])
2041       LDFLAGS="${LDFLAGS_save}"
2042     else
2043       AC_MSG_RESULT(no)
2044       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2045     fi
2046   else
2047     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2048     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2049     AC_CHECK_HEADERS(mad.h, ,
2050       [ 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.]) ])
2051     AC_CHECK_LIB(mad, mad_bit_init, [
2052       VLC_ADD_PLUGINS([mpgatofixed32])
2053       VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2054       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2055     CPPFLAGS="${CPPFLAGS_save}"
2056     LDFLAGS="${LDFLAGS_save}"
2057   fi
2058 fi
2059
2060 dnl
2061 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2062 dnl
2063 AC_CHECK_HEADERS(id3tag.h, [
2064   AC_CHECK_HEADERS(zlib.h, [
2065     VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2066     VLC_ADD_PLUGINS([id3tag])]) ])
2067
2068 dnl
2069 dnl  ffmpeg decoder/demuxer plugin
2070 dnl
2071 AC_ARG_ENABLE(ffmpeg,
2072 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
2073 if test "${enable_ffmpeg}" != "no"
2074 then
2075 dnl Look for a ffmpeg-config (we are on debian )
2076  
2077    FFMPEG_PATH="${PATH}"
2078    AC_ARG_WITH(ffmpeg-config-path,
2079      [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2080      [ if test "${with_ffmpeg_config_path}" != "no"
2081        then
2082          FFMPEG_PATH="${with_ffmpeg_config_path}"
2083        fi ])
2084    AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2085    if test "${FFMPEG_CONFIG}" != "no"
2086    then
2087      AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2088      AC_CHECK_HEADERS(postproc/postprocess.h)
2089      VLC_ADD_PLUGINS([ffmpeg])
2090      if test "${enable_sout}" != "no"; then
2091          VLC_ADD_PLUGINS([stream_out_switcher])
2092      fi
2093      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2094      VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2095   
2096   else
2097     AC_ARG_WITH(ffmpeg-mp3lame,
2098       [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2099       [
2100         VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
2101
2102     AC_ARG_WITH(ffmpeg-faac,
2103       [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
2104       [
2105         VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
2106
2107     AC_ARG_WITH(ffmpeg-dts,
2108       [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
2109       [
2110         VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2111
2112     AC_ARG_WITH(ffmpeg-zlib,
2113       [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
2114       [
2115         VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
2116
2117     AC_ARG_WITH(ffmpeg-tree,
2118       [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2119
2120     dnl
2121     dnl test for !(--with-ffmpeg-tree)
2122     dnl
2123     if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
2124       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2125       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2126       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2127       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2128
2129       AC_CHECK_LIB(avutil, av_add_i, [
2130         VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2131         LDAVUTIL="-lavutil"])
2132
2133       AC_CHECK_LIB(avcodec, avcodec_init, [
2134         VLC_ADD_BUILTINS([ffmpeg])
2135         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2136         if test "${enable_sout}" != "no"; then
2137             VLC_ADD_BUILTINS([stream_out_switcher])
2138         fi],
2139          [ 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])
2140       AC_CHECK_LIB(avformat, av_open_input_stream, [
2141         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2142         [Define if you have ffmpeg's libavformat.])
2143         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2144       LDFLAGS="${LDFLAGS_save}"
2145       CPPFLAGS="${CPPFLAGS_save}"
2146     fi
2147
2148     dnl
2149     dnl test for --with-ffmpeg-tree
2150     dnl
2151     if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2152       AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2153       real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2154       if test -z "${real_ffmpeg_tree}"; then
2155         dnl  The given directory can't be found
2156         AC_MSG_RESULT(no)
2157         AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2158       fi
2159       if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2160         dnl  The given libavcodec wasn't built
2161         AC_MSG_RESULT(no)
2162         AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2163       fi
2164       if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2165         dnl  The given libavcodec wasn't built with --enable-pp
2166         AC_MSG_RESULT(no)
2167         AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2168       fi
2169       dnl  Use a custom libffmpeg
2170       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2171
2172       if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2173         if test "${with_ffmpeg_zlib}" != "yes"; then
2174           VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2175         fi
2176       fi
2177       if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2178         if test "${with_ffmpeg_mp3lame}" != "yes"; then
2179           VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2180         fi
2181       fi
2182       if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2183         if test "${with_ffmpeg_faac}" != "yes"; then
2184           VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2185         fi
2186       fi
2187       if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2188         if test "${with_ffmpeg_dts}" != "yes"; then
2189           VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
2190         fi
2191       fi
2192       if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2193         VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2194       fi
2195       if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2196         VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2197       fi
2198       if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2199         VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2200       fi
2201
2202       VLC_ADD_BUILTINS([ffmpeg])
2203       if test "${enable_sout}" != "no"; then
2204         VLC_ADD_BUILTINS([stream_out_switcher])
2205       fi
2206
2207       if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2208         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2209         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2210       fi
2211
2212       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2213       VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2214
2215       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2216         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2217         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2218         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2219       fi
2220     fi
2221   fi
2222 fi
2223
2224 dnl
2225 dnl  ffmpeg decoder/demuxer plugin
2226 dnl
2227 AC_ARG_ENABLE(ffmpegaltivec,
2228 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
2229 if test "${enable_ffmpegaltivec}" == "yes"
2230 then
2231   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2232     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2233     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2234     if test -z "${real_ffmpeg_tree}"; then
2235       dnl  The given directory can't be found
2236       AC_MSG_RESULT(no)
2237       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2238     fi
2239     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2240       dnl  The given libavcodecaltivec wasn't built
2241       AC_MSG_RESULT(no)
2242       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2243     fi
2244     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2245       dnl  The given libavcodecaltivec wasn't built with --enable-pp
2246       AC_MSG_RESULT(no)
2247       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2248     fi
2249     dnl  Use a custom libffmpeg
2250     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2251     VLC_ADD_BUILTINS([ffmpegaltivec])
2252     VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2253     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2254     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2255
2256     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2257       AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2258       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2259       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2260     fi
2261     VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2262     VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2263   fi
2264 fi
2265
2266 dnl
2267 dnl  faad decoder plugin
2268 dnl
2269 AC_ARG_ENABLE(faad,
2270 [  --enable-faad           faad codec (default disabled)])
2271 if test "${enable_faad}" = "yes"
2272 then
2273   AC_ARG_WITH(faad-tree,
2274   [    --with-faad-tree=PATH faad tree for static linking])
2275   if test -n "${with_faad_tree}"
2276   then
2277     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2278     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2279     if test -z "${real_faad_tree}"
2280     then
2281       dnl  The given directory can't be found
2282       AC_MSG_RESULT(no)
2283       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2284     fi
2285     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2286     then
2287       dnl  Use a custom faad
2288       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2289       VLC_ADD_BUILTINS([faad])
2290       VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2291       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2292     else
2293       dnl  The given libfaad wasn't built
2294       AC_MSG_RESULT(no)
2295       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2296     fi
2297   else
2298     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2299     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2300     AC_CHECK_HEADERS(faad.h, ,
2301       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2302     AC_CHECK_LIB(faad, faacDecOpen, [
2303       VLC_ADD_PLUGINS([faad])
2304       VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2305       AC_CHECK_LIB(faad, NeAACDecOpen, [
2306         VLC_ADD_PLUGINS([faad])
2307         VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2308         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2309     LDFLAGS="${LDFLAGS_save}"
2310     CPPFLAGS="${CPPFLAGS_save}"
2311   fi
2312 fi
2313
2314 dnl
2315 dnl twolame encoder plugin
2316 dnl
2317 AC_ARG_ENABLE(twolame,
2318 [  --enable-twolame        twolame codec (default disabled)])
2319 if test "${enable_twolame}" = "yes"
2320 then
2321   AC_ARG_WITH(twolame-tree,
2322   [    --with-twolame-tree=PATH twolame tree for static linking])
2323   if test -n "${with_twolame_tree}"
2324   then
2325     AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2326     real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2327     if test -z "${real_twolame_tree}"
2328     then
2329       dnl  The given directory can't be found
2330       AC_MSG_RESULT(no)
2331       AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2332     fi
2333     if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2334     then
2335       dnl  Use a custom twolame
2336       AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2337       VLC_ADD_BUILTINS([twolame])
2338       VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2339       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2340     else
2341       dnl  The given libtwolame wasn't built
2342       AC_MSG_RESULT(no)
2343       AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2344     fi
2345   else
2346     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2347     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2348     AC_CHECK_HEADERS(twolame.h, ,
2349       [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2350     AC_CHECK_LIB(twolame, twolame_init, [
2351       VLC_ADD_PLUGINS([twolame])
2352       VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2353         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2354     LDFLAGS="${LDFLAGS_save}"  
2355     CPPFLAGS="${CPPFLAGS_save}"
2356   fi
2357 fi
2358
2359 dnl
2360 dnl  QuickTime plugin
2361 dnl
2362 AC_ARG_ENABLE(quicktime,
2363   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
2364 if test "${enable_quicktime}" != "no" &&
2365   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2366 then
2367   if test "${SYS}" = "mingw32"; then
2368     VLC_ADD_BUILTINS([quicktime])
2369   else
2370   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2371     [ VLC_ADD_BUILTINS([quicktime])
2372       VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2373     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2374   fi
2375 fi
2376
2377 dnl
2378 dnl MP4 module
2379 dnl
2380 AC_CHECK_HEADERS(zlib.h, [
2381   VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2382 ] )
2383
2384 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2385   VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2386 ] )
2387
2388 dnl
2389 dnl skins2 module
2390 dnl
2391 AC_CHECK_HEADERS(libtar.h, [
2392   VLC_ADD_LDFLAGS([skins2],[-ltar])
2393 ] )
2394
2395
2396
2397 dnl
2398 dnl A52/AC3 decoder plugin
2399 dnl
2400 AC_ARG_ENABLE(a52,
2401   [  --enable-a52            A/52 support with liba52 (default enabled)])
2402 if test "${enable_a52}" != "no"
2403 then
2404   AC_ARG_WITH(a52,
2405     [    --with-a52=PATH       a52 headers and libraries])
2406   AC_ARG_WITH(a52-tree,
2407     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
2408   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2409   then
2410     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2411     if test -z "${real_a52_tree}"
2412     then
2413       dnl  The given directory can't be found
2414       AC_MSG_RESULT(no)
2415       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2416     fi
2417     dnl  Use a custom a52dec
2418     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2419     if test -f ${real_a52_tree}/include/a52.h
2420     then
2421       AC_MSG_RESULT(yes)
2422       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2423       VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2424       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2425       AC_CHECK_LIB(a52, a52_free, [
2426         VLC_ADD_BUILTINS([a52tofloat32])
2427         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2428         VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2429         ],[
2430         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2431         then
2432           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2433         else
2434           AC_MSG_ERROR([the specified tree hasn't been compiled])
2435         fi
2436       ])
2437       LDFLAGS="${LDFLAGS_save}"
2438     else
2439       AC_MSG_RESULT(no)
2440       AC_MSG_ERROR([the specified tree doesn't have a52.h])
2441     fi
2442   else
2443     if test -z "${with_a52}"
2444     then
2445       LDFLAGS_test=""
2446       CPPFLAGS_test=""
2447     else
2448       LDFLAGS_test="-L${with_a52}/lib"
2449       CPPFLAGS_test="-I${with_a52}/include"
2450     fi
2451     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2452     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2453     AC_CHECK_HEADERS(a52dec/a52.h, [
2454       AC_CHECK_LIB(a52, a52_free, [
2455         VLC_ADD_PLUGINS([a52tofloat32])
2456         VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2457         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2458       ],[
2459         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.])
2460       ])
2461     ])
2462     CPPFLAGS="${CPPFLAGS_save}"
2463     LDFLAGS="${LDFLAGS_save}"
2464   fi
2465 fi
2466
2467 AC_ARG_WITH(a52-fixed,
2468       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
2469       [
2470         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2471
2472 dnl
2473 dnl DTS Coherent Acoustics decoder plugin
2474 dnl
2475 AC_ARG_ENABLE(dts,
2476   [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
2477 if test "${enable_dts}" != "no"; then
2478   AC_ARG_WITH(dts-tree,
2479     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
2480   if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2481   then
2482     real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2483     if test -z "${real_dts_tree}"
2484     then
2485       dnl  The given directory can't be found
2486       AC_MSG_RESULT(no)
2487       AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2488     fi
2489     dnl  Use a custom libdts
2490     AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2491     if test -f ${real_dts_tree}/include/dts.h
2492     then
2493       AC_MSG_RESULT(yes)
2494       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2495       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2496       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2497       AC_CHECK_LIB(dts_pic, dts_free, [
2498         VLC_ADD_PLUGINS([dtstofloat32])
2499         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2500         ],[
2501         AC_CHECK_LIB(dts, dts_free, [
2502           VLC_ADD_BUILTINS([dtstofloat32])
2503           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2504           ],[
2505           if test -f ${real_dts_tree}/libdts/libdts.a
2506           then
2507             AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2508           else
2509             AC_MSG_ERROR([the specified tree hasn't been compiled])
2510           fi
2511         ])
2512       ])
2513       LDFLAGS="${LDFLAGS_save}"
2514     else
2515       AC_MSG_RESULT(no)
2516       AC_MSG_ERROR([the specified tree doesn't have dts.h])
2517     fi
2518   else
2519     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2520     AC_CHECK_HEADERS(dts.h, [
2521       AC_CHECK_LIB(dts_pic, dts_free, [
2522         VLC_ADD_PLUGINS([dtstofloat32])
2523         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2524       ],[
2525         AC_CHECK_LIB(dts, dts_free, [
2526           VLC_ADD_BUILTINS([dtstofloat32])
2527           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2528         ],[
2529           if test "${enable_dts}" = "yes"; then
2530             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2531           fi
2532         ])
2533       ])
2534     ])
2535     LDFLAGS="${LDFLAGS_save}"
2536   fi
2537 fi
2538
2539 dnl
2540 dnl  Flac plugin
2541 dnl
2542 AC_ARG_ENABLE(flac,
2543   [  --enable-flac           flac decoder support (default disabled)])
2544 if test "${enable_flac}" = "yes"
2545 then
2546   AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2547     VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2548    ],[])
2549 fi
2550
2551 dnl
2552 dnl  Libmpeg2 plugin
2553 dnl
2554 AC_ARG_ENABLE(libmpeg2,
2555   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
2556 if test "${enable_libmpeg2}" != "no"
2557 then
2558   AC_ARG_WITH(libmpeg2-tree,
2559   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2560   if test -n "${with_libmpeg2_tree}"
2561   then
2562     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2563     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2564     if test -z "${real_libmpeg2_tree}"
2565     then
2566       dnl  The given directory can't be found
2567       AC_MSG_RESULT(no)
2568       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2569     fi
2570     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2571     then
2572       dnl  Use a custom libmpeg2
2573       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2574       VLC_ADD_BUILTINS([libmpeg2])
2575       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2576       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2577       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2578     else
2579       dnl  The given libmpeg2 wasn't built
2580       AC_MSG_RESULT(no)
2581       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2582     fi
2583   else
2584     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2585       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2586       AC_EGREP_CPP(yes,
2587         [#include <mpeg2dec/mpeg2.h>
2588          #ifdef MPEG2_RELEASE
2589          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2590          yes
2591          #endif
2592          #endif],
2593         [AC_MSG_RESULT([yes])
2594           VLC_ADD_PLUGINS([libmpeg2])
2595           VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2596         [AC_MSG_RESULT([no])
2597           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.])])],
2598
2599       [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.])]
2600     )
2601   fi
2602 fi
2603
2604 dnl
2605 dnl  Vorbis plugin
2606 dnl
2607 AC_ARG_ENABLE(vorbis,
2608   [  --enable-vorbis         Vorbis decoder support (default enabled)])
2609 if test "${enable_vorbis}" != "no"
2610 then
2611   AC_CHECK_HEADERS(vorbis/codec.h, [
2612     VLC_ADD_PLUGINS([vorbis])
2613     VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
2614
2615   AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
2616     VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
2617 fi
2618
2619 dnl
2620 dnl  Tremor plugin
2621 dnl
2622 AC_ARG_ENABLE(tremor,
2623   [  --enable-tremor         Tremor decoder support (default disabled)])
2624 if test "${enable_tremor}" = "yes"
2625 then
2626   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2627     VLC_ADD_PLUGINS([tremor])
2628     VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
2629    ],[])
2630 fi
2631
2632 dnl
2633 dnl  Speex plugin
2634 dnl
2635 AC_ARG_ENABLE(speex,
2636   [  --enable-speex          Speex decoder support (default enabled)])
2637 if test "${enable_speex}" != "no"
2638 then
2639   AC_CHECK_HEADERS(speex/speex.h, [
2640     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
2641     AC_CHECK_LIB(speex, speex_decode_int, [
2642       VLC_ADD_PLUGINS([speex])
2643       VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
2644       [ AC_MSG_RESULT([no])
2645         AC_MSG_WARN([Your libspeex is too old, please get the development
2646                      version.]) ],[])
2647     LDFLAGS="${LDFLAGS_save}"
2648     ],[])
2649 fi
2650
2651 dnl
2652 dnl  tarkin decoder plugin
2653 dnl
2654 AC_ARG_ENABLE(tarkin,
2655 [  --enable-tarkin         experimental tarkin codec (default disabled)])
2656 if test "${enable_tarkin}" = "yes"
2657 then
2658   AC_ARG_WITH(tarkin-tree,
2659   [    --with-tarkin-tree=PATH tarkin tree for static linking])
2660   if test -n "${with_tarkin_tree}"
2661   then
2662     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
2663     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
2664     if test -f "${real_tarkin_tree}/tarkin.o"
2665     then
2666       VLC_ADD_BUILTINS([tarkin])
2667       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
2668       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])
2669       AC_MSG_RESULT(yes)
2670     else
2671       dnl  The given tarkin tree wasn't built
2672       AC_MSG_RESULT(no)
2673       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
2674                     make sure you compiled tarkin in ${with_tarkin_tree}])
2675     fi
2676   fi
2677 fi
2678
2679 dnl
2680 dnl  theora decoder plugin
2681 dnl
2682 AC_ARG_ENABLE(theora,
2683 [  --enable-theora         experimental theora codec (default disabled)])
2684 if test "${enable_theora}" = "yes"
2685 then
2686   AC_CHECK_HEADERS(theora/theora.h, [
2687     AC_CHECK_LIB(theora, theora_granule_time, [
2688       if test "${SYS}" = "mingw32"; then
2689         VLC_ADD_PLUGINS([theora])
2690       else
2691         VLC_ADD_BUILTINS([theora])
2692       fi
2693       theora_libs="-ltheora -logg"
2694       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
2695       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
2696 You also need to check that you have a libogg posterior to the 1.0 release.])],
2697       [-logg])
2698   ])
2699 fi
2700
2701 dnl
2702 dnl  dirac decoder plugin
2703 dnl
2704 AC_ARG_ENABLE(dirac,
2705 [  --enable-dirac          experimental dirac codec (default disabled)])
2706 if test "${enable_dirac}" = "yes"; then
2707   AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
2708     AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
2709       VLC_ADD_PLUGINS([dirac])
2710       VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
2711       AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
2712       [-lstdc++])
2713   ])
2714 fi
2715
2716 dnl
2717 dnl  PNG decoder module
2718 dnl
2719 AC_ARG_ENABLE(png,
2720   [  --enable-png            PNG support (default enabled)])
2721 if test "${enable_png}" != "no"; then
2722 AC_CHECK_HEADERS(png.h, [
2723   LDFLAGS="${LDFLAGS_save} -lz"
2724   AC_CHECK_LIB(png, png_set_rows, [
2725     VLC_ADD_LDFLAGS([png],[-lpng -lz])
2726     VLC_ADD_PLUGINS([png])
2727     VLC_ADD_PLUGINS([osdmenu])
2728     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
2729     [],[-lz])
2730   LDFLAGS="${LDFLAGS_save}"
2731   ])
2732 fi
2733
2734 dnl
2735 dnl H264 encoder plugin (using libx264)
2736 dnl
2737 AC_ARG_ENABLE(x264,
2738   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
2739 if test "${enable_x264}" != "no"; then
2740   AC_ARG_WITH(x264-tree,
2741     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
2742   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2743   then
2744     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2745     if test -z "${real_x264_tree}"
2746     then
2747       dnl  The given directory can't be found
2748       AC_MSG_RESULT(no)
2749       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2750     fi
2751     dnl  Use a custom libx264
2752     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2753     if test -f ${real_x264_tree}/x264.h
2754     then
2755       AC_MSG_RESULT(yes)
2756       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2757       VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
2758       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2759       AC_CHECK_LIB(x264, x264_encoder_open, [
2760         VLC_ADD_BUILTINS([x264])
2761         VLC_ADD_LDFLAGS([x264],[-lx264])
2762       ],[
2763         AC_MSG_ERROR([the specified tree hasn't been compiled])
2764       ])
2765       LDFLAGS="${LDFLAGS_save}"
2766     else
2767       AC_MSG_RESULT(no)
2768       AC_MSG_ERROR([the specified tree doesn't have x264.h])
2769     fi
2770   else
2771     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2772     AC_CHECK_HEADERS(x264.h, [
2773       AC_CHECK_LIB(x264, x264_encoder_open, [
2774         VLC_ADD_PLUGINS([x264])
2775         VLC_ADD_LDFLAGS([x264],[-lx264])
2776       ],[
2777         if test "${enable_x264}" = "yes"; then
2778             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
2779           fi
2780       ])
2781     ])
2782     LDFLAGS="${LDFLAGS_save}"
2783   fi
2784 fi
2785
2786 dnl
2787 dnl  CMML plugin
2788 dnl
2789 AC_ARG_ENABLE(cmml,
2790   [  --enable-cmml           CMML support (default enabled)])
2791 if test "${enable_cmml}" != "no"
2792 then
2793   VLC_ADD_PLUGINS([cmml])
2794 fi
2795
2796
2797 dnl
2798 dnl  Video plugins
2799 dnl
2800
2801 AC_ARG_WITH(,[Video plugins:])
2802
2803 dnl Check for DPMS
2804 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
2805   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2806   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
2807     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
2808     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
2809       AC_MSG_RESULT(yes)
2810       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
2811                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
2812     ],[
2813       AC_MSG_RESULT(no)
2814     ])
2815   ],,[
2816     #include <X11/Xlib.h>
2817   ])
2818   CPPFLAGS="${CPPFLAGS_save}"
2819 fi
2820
2821 dnl
2822 dnl  X11 module
2823 dnl  (enabled by default except on win32)
2824 dnl
2825 AC_ARG_ENABLE(x11,
2826   [  --enable-x11            X11 support (default enabled)])
2827 if test "${enable_x11}" != "no" &&
2828   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2829    test "${enable_x11}" = "yes"); then
2830   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2831   AC_CHECK_HEADERS(X11/Xlib.h, [
2832     VLC_ADD_PLUGINS([x11])
2833     VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
2834     VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
2835   ])
2836   CPPFLAGS="${CPPFLAGS_save}"
2837 fi
2838
2839 dnl
2840 dnl  XVideo module
2841 dnl  (enabled by default except on win32)
2842 dnl
2843 AC_ARG_ENABLE(xvideo,
2844   [  --enable-xvideo         XVideo support (default enabled)])
2845 if test "${enable_xvideo}" != "no" &&
2846   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2847    test "${enable_xvideo}" = "yes"); then
2848   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2849   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
2850     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2851     AC_CHECK_LIB(Xv,XvPutImage,[
2852       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
2853       # test for libXv_pic.
2854       if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
2855         VLC_ADD_PLUGINS([xvideo])
2856         VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2857         VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2858       else
2859         AC_CHECK_LIB(Xv_pic,XvPutImage,[
2860           VLC_ADD_PLUGINS([xvideo])
2861           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2862           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
2863         ],[
2864           VLC_ADD_BUILTINS([xvideo])
2865           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2866           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2867         ])
2868       fi
2869     ])
2870     CFLAGS="${CFLAGS_save}"
2871   ]
2872   CPPFLAGS="${CPPFLAGS_save}")
2873 fi
2874
2875 dnl
2876 dnl  GLX module
2877 dnl  (enabled by default except on win32)
2878 dnl
2879 AC_ARG_ENABLE(glx,
2880   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
2881 if test "${enable_glx}" != "no" &&
2882   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2883    test "${enable_glx}" = "yes"); then
2884   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2885   AC_CHECK_HEADERS(X11/Xlib.h, [
2886     AC_CHECK_HEADERS(GL/glx.h, [
2887       VLC_ADD_PLUGINS([glx])
2888       VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
2889       VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
2890   ]) ])
2891   CPPFLAGS="${CPPFLAGS_save}"
2892 fi
2893
2894 dnl
2895 dnl  Check for the Xinerama extension
2896 dnl
2897 if test "${enable_xvideo}" != "no" &&
2898   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2899    test "${enable_xvideo}" = "yes"); then
2900   ac_cv_have_xinerama="no"
2901   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2902   CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2903   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
2904     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
2905       VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
2906       VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
2907       VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
2908       ac_cv_have_xinerama="yes"
2909     ],[
2910       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
2911         VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
2912         VLC_ADD_LDFLAGS([x11],[-lXinerama])
2913         VLC_ADD_LDFLAGS([glx],[-lXinerama])
2914         ac_cv_have_xinerama="yes"
2915       ])
2916     ])
2917   ])
2918   if test "${ac_cv_have_xinerama}" = "yes"; then
2919     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
2920   fi
2921   CFLAGS="${CFLAGS_save}"
2922   CPPFLAGS="${CPPFLAGS_save}"
2923 fi
2924
2925 dnl
2926 dnl  OpenGL module
2927 dnl  (enabled by default except on beos)
2928 dnl
2929 AC_ARG_ENABLE(opengl,
2930   [  --enable-opengl         OpenGL support (default enabled)])
2931 if test "${enable_opengl}" != "no" &&
2932    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
2933   if test "${SYS}" != "darwin"; then
2934     AC_CHECK_HEADERS(GL/gl.h, [
2935       VLC_ADD_PLUGINS([opengl])
2936       if test "${SYS}" != "mingw32"; then
2937         VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
2938       else
2939         VLC_ADD_LDFLAGS([opengl],[-lopengl32])
2940       fi
2941     ])
2942   else
2943     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
2944     VLC_ADD_PLUGINS([opengl])
2945     VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
2946   fi
2947 fi
2948
2949 dnl
2950 dnl  SDL module
2951 dnl
2952 AC_ARG_ENABLE(sdl,
2953   [  --enable-sdl            SDL support (default enabled)])
2954 if test "${enable_sdl}" != "no"
2955 then
2956   SDL_PATH="${PATH}"
2957   AC_ARG_WITH(sdl-config-path,
2958     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
2959     [ if test "${with_sdl_config_path}" != "no"
2960       then
2961         SDL_PATH="${with_sdl_config_path}:${PATH}"
2962       fi ])
2963   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
2964   SDL_CONFIG="${SDL12_CONFIG}"
2965   SDL_HEADER="SDL12/SDL.h"
2966   SDL_IMAGE="SDL12/SDL_image.h"
2967   if test "${SDL_CONFIG}" = "no"
2968   then
2969     AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
2970     SDL_CONFIG=${SDL11_CONFIG}
2971     SDL_HEADER="SDL11/SDL.h"
2972     SDL_IMAGE="SDL11/SDL_image.h"
2973   fi
2974   if test "${SDL_CONFIG}" = "no"
2975   then
2976     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
2977     SDL_HEADER="SDL/SDL.h"
2978     SDL_IMAGE="SDL/SDL_image.h"
2979   fi
2980   # check for cross-compiling
2981   SDL_PREFIX=
2982   AC_ARG_WITH(sdl-prefix,
2983     [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
2984                                e.g use as:
2985                                --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
2986   if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
2987   then
2988     SDL_PREFIX="--prefix=${with_sdl_prefix}"
2989   fi
2990   if test "${SDL_CONFIG}" != "no"
2991   then
2992     # SDL on Darwin is heavily patched and can only run SDL_image
2993     if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
2994       VLC_ADD_PLUGINS([vout_sdl aout_sdl])
2995     fi
2996     VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
2997     VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
2998     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
2999     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3000       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3001       [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3002           As a last resort we also test for SDL.h presence),
3003       [ AC_MSG_ERROR([The development package for SDL is not installed.
3004 Please install it and try again. Alternatively you can also configure with
3005 --disable-sdl.])
3006       ])])
3007     AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3008       <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3009       VLC_ADD_PLUGINS([sdl_image])
3010       AC_CHECK_LIB(png, png_set_rows,
3011         [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3012       AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3013         [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3014       AC_CHECK_LIB(tiff, TIFFClientOpen,
3015         [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3016       VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3017       [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3018           As a last resort we also test for SDL_image.h presence),
3019       [ AC_MSG_WARN([The development package for SDL_image is not installed.
3020 You should install it alongside your SDL package.])
3021       ])])
3022     CPPFLAGS="${CPPFLAGS_save}"
3023     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3024     then
3025       AC_MSG_ERROR([The development package for SDL is not installed.
3026 Please install it and try again. Alternatively you can also configure with
3027 --disable-sdl.])
3028     fi
3029
3030   elif test "${enable_sdl}" =  "yes"
3031   then
3032     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3033 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3034     ])
3035   fi
3036 fi
3037
3038 dnl
3039 dnl  freetype module
3040 dnl
3041 AC_ARG_ENABLE(freetype,
3042   [  --enable-freetype       freetype support (default enabled)])
3043 AC_ARG_ENABLE(fribidi,
3044   [  --enable-fribidi        fribidi support (default enabled)])
3045 if test "${enable_freetype}" != "no"
3046 then
3047   FREETYPE_PATH="${PATH}"
3048   AC_ARG_WITH(freetype-config-path,
3049     [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3050     [ if test "${with_freetype_config_path}" != "no"
3051       then
3052         FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3053       fi ])
3054   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3055
3056   if test "${FREETYPE_CONFIG}" != "no"
3057   then
3058     VLC_ADD_PLUGINS([freetype])
3059     VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3060     VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3061     AC_CHECK_HEADERS(Carbon/Carbon.h,
3062       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3063   elif test "${enable_freetype}" =  "yes"
3064   then
3065     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3066 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3067     ])
3068   fi
3069
3070   dnl fribidi support
3071   if test "${enable_fribidi}" != "no"
3072   then
3073     FRIBIDI_PATH="${PATH}"
3074     AC_ARG_WITH(fribidi-config-path,
3075       [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3076       [ if test "${with_fribidi_config_path}" != "no"
3077         then
3078           FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3079         fi ])
3080     AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3081
3082     if test "${FRIBIDI_CONFIG}" != "no"
3083     then
3084       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3085       VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3086       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3087       VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3088     fi
3089   fi
3090 fi
3091
3092 dnl
3093 dnl  libxml2 module
3094 dnl
3095 AC_ARG_ENABLE(libxml2,
3096   [  --enable-libxml2        libxml2 support (default enabled)])
3097 if test "${enable_libxml2}" != "no"
3098 then
3099   XML2_PATH="${PATH}"
3100   AC_ARG_WITH(xml2-config-path,
3101     [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3102     [ if test "${with_xml2_config_path}" != "no"; then
3103         XML2_PATH="${with_xml2_config_path}:${PATH}"
3104       fi ])
3105   AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3106   if test "${XML2_CONFIG}" != "no"; then
3107     VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3108     VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3109     dnl depends on the xmlTextReader extension
3110     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3111     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3112     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3113       AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3114         VLC_ADD_PLUGINS([xml]) ],[
3115           AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3116           if test "${enable_xml2}" = "yes"; then
3117             AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3118           fi])
3119        ],[
3120       AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3121       if test "${enable_xml2}" = "yes"; then
3122         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3123       fi])
3124     LDFLAGS="${LDFLAGS_save}"
3125     CPPFLAGS="${CPPFLAGS_save}"
3126   else
3127     if test "${enable_xml2}" = "yes"; then
3128       AC_MSG_ERROR([Could not find libxml2])
3129     fi
3130   fi
3131 fi
3132
3133 dnl
3134 dnl  SVG module
3135 dnl
3136 AC_ARG_ENABLE(svg,
3137   [  --enable-svg            SVG support (default disabled)])
3138 if test "${enable_svg}" == "yes"
3139 then
3140   PKG_CHECK_MODULES(SVG, 
3141         librsvg-2.0 >= 2.5.0,
3142         [
3143           VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3144           VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3145           VLC_ADD_PLUGINS([svg]) ],
3146         [AC_MSG_WARN(SVG library not found)])
3147 fi
3148
3149 dnl
3150 dnl  Qt Embedded module
3151 dnl  (disabled by default)
3152 dnl
3153 AC_ARG_ENABLE(qte,
3154   [  --enable-qte            QT Embedded support (default disabled)])
3155 if test "${enable_qte}" = "yes"
3156 then
3157   AC_ARG_WITH(qte,
3158   [    --with-qte=PATH       Qt Embedded headers and libraries])
3159   if test "${with_qte}" != "no" -a -n "${with_qte}"
3160   then
3161     VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3162     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])
3163   else
3164     VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3165     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3166   fi
3167   VLC_ADD_PLUGINS([qte])
3168   NEED_QTE_MAIN=yes
3169   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3170   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3171     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3172   ] )
3173   CPPFLAGS="${CPPFLAGS_save}"
3174 fi
3175
3176 dnl
3177 dnl  Qt Video output module
3178 dnl  (disabled by default)
3179 dnl
3180 dnl AC_ARG_ENABLE(qt_video,
3181 dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
3182 dnl if test "${enable_qt_video}" = "yes"
3183 dnl then
3184 dnl  VLC_ADD_PLUGINS([qt_video])
3185 dnl  VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3186 dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3187 dnl   AC_CHECK_LIB(qt-mt,main,[
3188 dnl    VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3189 dnl  ],[
3190 dnl    AC_CHECK_LIB(qt,main,[
3191 dnl      VLC_ADD_LDFLAGS([qt_video],[-lqt])
3192 dnl    ])
3193 dnl  ])
3194 dnl  NEED_QTE_MAIN=yes
3195 dnl  LDFLAGS="${LDFLAGS_save}"
3196 dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3197 dnl fi
3198
3199 dnl
3200 dnl Roku HD1000 Video output module
3201 dnl
3202 AC_ARG_ENABLE(hd1000v,
3203   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3204 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3205   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3206    test "${enable_hd1000v}" = "yes"); then
3207   AC_LANG_PUSH([C++])
3208   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3209   [
3210     can_build_roku="yes"
3211   ],
3212   [
3213     can_build_roku="no"
3214     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3215   ])
3216   if test "$can_build_roku" = "yes"
3217   then
3218     VLC_ADD_PLUGINS([hd1000v])
3219     VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3220   fi
3221   AC_LANG_POP([C++])
3222 fi
3223
3224 dnl
3225 dnl  Windows DirectX module
3226 dnl
3227 AC_ARG_ENABLE(directx,
3228   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3229 if test "${enable_directx}" != "no"
3230 then
3231   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3232   then
3233     AC_ARG_WITH(directx,
3234     [    --with-directx=PATH   Win32 DirectX headers])
3235     if test -z "${with_directx}"
3236     then
3237       AC_CHECK_HEADERS(ddraw.h,
3238       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3239         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3240         dnl to be moved when dependance is removed
3241         AC_CHECK_HEADERS(GL/gl.h, [
3242             VLC_ADD_PLUGINS([glwin32])
3243             VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3244         ]) ])
3245     else
3246       AC_MSG_CHECKING(for directX headers in ${with_directx})
3247       if test -f ${with_directx}/ddraw.h
3248       then
3249         VLC_ADD_PLUGINS([vout_directx aout_directx])
3250         VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3251         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3252         AC_MSG_RESULT(yes)
3253       else
3254         AC_MSG_RESULT(no)
3255         AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3256       fi
3257     fi
3258   fi
3259 fi
3260
3261 dnl
3262 dnl  Linux framebuffer module
3263 dnl
3264 AC_ARG_ENABLE(fb,
3265   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3266     if test "${enable_fb}" != "no"
3267     then
3268       AC_CHECK_HEADERS(linux/fb.h, [
3269         VLC_ADD_PLUGINS([fb])
3270       ])
3271     fi
3272
3273 dnl
3274 dnl  Linux MGA module
3275 dnl
3276 AC_ARG_ENABLE(mga,
3277   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3278   [ if test "${enable_mga}" = "yes"
3279     then
3280       VLC_ADD_PLUGINS([mga])
3281     fi ])
3282
3283 dnl
3284 dnl  SVGAlib module
3285 dnl
3286 AC_ARG_ENABLE(svgalib,
3287   [  --enable-svgalib        SVGAlib support (default disabled)])
3288 if test "${enable_svgalib}" = "yes"
3289 then
3290   VLC_ADD_PLUGINS([svgalib])
3291   VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3292 fi
3293
3294 dnl
3295 dnl  GGI module
3296 dnl
3297 AC_ARG_ENABLE(ggi,
3298   [  --enable-ggi            GGI support (default disabled)])
3299 if test "${enable_ggi}" = "yes"
3300 then
3301   VLC_ADD_PLUGINS([ggi])
3302   VLC_ADD_LDFLAGS([ggi],[-lggi])
3303   AC_ARG_WITH(ggi,
3304     [    --with-ggi=PATH       path to libggi],
3305     [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3306       then
3307         VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3308         VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3309       fi ])
3310 fi
3311
3312 dnl
3313 dnl  Glide module
3314 dnl
3315 AC_ARG_ENABLE(glide,
3316   [  --enable-glide          Glide (3dfx) support (default disabled)])
3317 if test "${enable_glide}" = "yes"
3318 then
3319   VLC_ADD_PLUGINS([glide])
3320   VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3321   VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3322   AC_ARG_WITH(glide,
3323     [    --with-glide=PATH     path to libglide],
3324     [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3325       then
3326         VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3327         VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3328       fi ])
3329 fi
3330
3331 dnl
3332 dnl  AA plugin
3333 dnl
3334 AC_ARG_ENABLE(aa,
3335   [  --enable-aa             aalib output (default disabled)])
3336 if test "${enable_aa}" = "yes"
3337 then
3338   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3339   if test "${have_aa}" = "true"
3340   then
3341     VLC_ADD_PLUGINS([aa])
3342     VLC_ADD_LDFLAGS([aa],[-laa])
3343   fi
3344 fi
3345
3346 dnl
3347 dnl  libcaca plugin
3348 dnl
3349 AC_ARG_ENABLE(caca,
3350   [  --enable-caca           libcaca output (default disabled)])
3351 if test "${enable_caca}" = "yes"
3352 then
3353   CACA_PATH="${PATH}"
3354   AC_ARG_WITH(caca-config-path,
3355     [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3356     [ if test "${with_caca_config_path}" != "no"
3357       then
3358         CACA_PATH="${with_caca_config_path}:${PATH}"
3359       fi ])
3360   AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3361   if test "${CACA_CONFIG}" != "no"
3362   then
3363     VLC_ADD_PLUGINS([caca])
3364     VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3365     VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3366   fi
3367 fi
3368
3369 dnl
3370 dnl  win32 GDI plugin
3371 dnl
3372 AC_ARG_ENABLE(wingdi,
3373   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3374 if test "${enable_wingdi}" != "no"; then
3375   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3376     VLC_ADD_PLUGINS([wingdi])
3377     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3378   fi
3379   if test "${SYS}" = "mingwce"; then
3380     VLC_ADD_PLUGINS([wingdi wingapi])
3381   fi
3382 fi
3383
3384 dnl
3385 dnl  Audio plugins
3386 dnl
3387
3388 AC_ARG_WITH(,[Audio plugins:])
3389
3390 dnl
3391 dnl  OSS /dev/dsp module (enabled by default except on win32)
3392 dnl
3393 AC_ARG_ENABLE(oss,
3394   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
3395
3396 if test "${enable_oss}" != "no" &&
3397   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3398    test "${enable_oss}" = "yes")
3399 then
3400   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3401     VLC_ADD_PLUGINS([oss])
3402     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3403   ])
3404 fi
3405
3406 dnl
3407 dnl  Esound module
3408 dnl
3409 AC_ARG_ENABLE(esd,
3410   [  --enable-esd            Esound library support (default disabled)],
3411   [if test "${enable_esd}" = "yes"
3412    then
3413      AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3414      if test "${ESD_CONFIG}" != "no"
3415      then
3416        VLC_ADD_PLUGINS([esd])
3417        VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3418        VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3419      fi
3420    fi])
3421
3422 dnl
3423 dnl  Portaudio module
3424 dnl
3425 AC_ARG_ENABLE(portaudio,
3426   [  --enable-portaudio      Portaudio library support (default disabled)],
3427   [if test "${enable_portaudio}" = "yes"
3428    then
3429      VLC_ADD_PLUGINS([portaudio])
3430      VLC_ADD_CXXFLAGS([portaudio],[])
3431      if test "${SYS}" = "mingw32"; then
3432         VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3433      else
3434         VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3435      fi
3436    fi])
3437
3438 dnl
3439 dnl  aRts module -- broken (freeze wxWidgets)
3440 dnl
3441 AC_ARG_ENABLE(arts,
3442  [  --enable-arts           aRts sound server (default disabled)],
3443  [if test "${enable_arts}" = "yes"
3444   then
3445     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3446     if test "${ARTS_CONFIG}" != "no"
3447     then
3448       VLC_ADD_PLUGINS([arts])
3449       VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3450       VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3451     fi
3452   fi])
3453
3454 dnl
3455 dnl  ALSA module
3456 dnl
3457 AC_ARG_ENABLE(alsa,
3458   [  --enable-alsa           ALSA sound support for Linux (default enabled)])
3459 if test "${enable_alsa}" != "no"
3460 then
3461   AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3462   if test "${have_alsa}" = "true"
3463   then
3464     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3465                     #define ALSA_PCM_NEW_SW_PARAMS_API
3466                     #include <alsa/asoundlib.h>],
3467        [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3468         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3469     VLC_ADD_PLUGINS([alsa])
3470     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3471   else
3472     if test "${enable_alsa}" = "yes"; then
3473       AC_MSG_ERROR([Could not find ALSA development headers])
3474     fi
3475   fi
3476 fi
3477
3478 dnl
3479 dnl  win32 waveOut plugin
3480 dnl
3481 AC_ARG_ENABLE(waveout,
3482   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
3483 if test "${enable_waveout}" != "no"; then
3484   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3485     VLC_ADD_PLUGINS([waveout])
3486     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3487   fi
3488   if test "${SYS}" = "mingwce"; then
3489     VLC_ADD_PLUGINS([waveout])
3490   fi
3491 fi
3492
3493 dnl
3494 dnl  CoreAudio plugin
3495 dnl
3496 AC_ARG_ENABLE(coreaudio,
3497   [  --enable-coreaudio      CoreAudio module (default enabled on MacOS X)])
3498 if test "${enable_coreaudio}" != "no" &&
3499   (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3500 then
3501   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
3502     [ VLC_ADD_BUILTINS([coreaudio auhal])
3503       VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
3504     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3505 fi
3506
3507 dnl
3508 dnl  Roku HD1000 audio
3509 dnl
3510 AC_ARG_ENABLE(hd1000a,
3511   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
3512 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3513   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3514    test "${enable_hd1000a}" = "yes")
3515 then
3516   AC_LANG_PUSH([C++])
3517   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3518     VLC_ADD_PLUGINS([hd1000a])
3519     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
3520   AC_LANG_POP([C++])
3521 fi
3522
3523 dnl
3524 dnl  CyberLink for C++ UPnP stack
3525 dnl
3526 AC_ARG_ENABLE(cyberlink,
3527   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
3528 if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then
3529   AC_ARG_WITH(cyberlink-tree,
3530     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
3531
3532   dnl
3533   dnl test for --with-cyberlink-tree
3534   dnl
3535   if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then
3536     AC_LANG_PUSH(C++)
3537     real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
3538     if test -z "${real_cyberlink_tree}"
3539     then
3540       dnl  The given directory can't be found
3541       AC_MSG_RESULT(no)
3542       AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
3543     fi
3544     CXXFLAGS_save="${CXXFLAGS}"
3545     CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
3546     CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}"
3547     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
3548       [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}])
3549         VLC_ADD_PLUGINS([upnp]) 
3550       ],[
3551         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
3552       ])
3553     AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
3554     if test -f "${real_cyberlink_tree}/lib/unix/libclink.a"
3555     then
3556       AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
3557       VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat])
3558     else
3559       AC_MSG_RESULT(no)
3560        AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
3561     fi
3562     CXXFLAGS="${CXXFLAGS_save}"
3563     AC_LANG_POP([C++])
3564   fi
3565 fi
3566
3567 dnl
3568 dnl  Interface plugins
3569 dnl
3570
3571 AC_ARG_WITH(,[Interface plugins:])
3572
3573 dnl special case for BeOS
3574 if test "${SYS}" = "beos"
3575 then
3576     VLC_ADD_BUILTINS([beos])
3577 fi
3578
3579 dnl
3580 dnl Skins2 module
3581 dnl
3582 AC_ARG_ENABLE(skins2,
3583   [  --enable-skins2         Skins2 interface module (experimental)])
3584 if test "${enable_skins2}" = "yes" ||
3585   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
3586    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
3587
3588   dnl test for the required libraries
3589   skins2_missing_lib="no"
3590
3591   dnl freetype
3592   if test "${FREETYPE_CONFIG}" != "no"; then
3593     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
3594     VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
3595   else
3596     skins2_missing_lib="yes"
3597     if test "${enable_skins2}" = "yes"; then
3598       AC_MSG_ERROR([Could not find freetype (required for skins2)])
3599     fi
3600   fi
3601
3602   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
3603     VLC_ADD_PLUGINS([skins2])
3604     ALIASES="${ALIASES} svlc"
3605     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3606     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3607     VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
3608
3609   else if test "${skins2_missing_lib}" = "no"; then
3610     VLC_ADD_PLUGINS([skins2])
3611     ALIASES="${ALIASES} svlc"
3612     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
3613     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3614     VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
3615   fi fi
3616 fi
3617
3618
3619 dnl dnl
3620 dnl dnl  Gtk+ module
3621 dnl dnl
3622 dnl AC_ARG_ENABLE(gtk,
3623 dnl   [  --enable-gtk            Gtk+ support (default enabled)])
3624 dnl if test "${enable_gtk}" != "no"
3625 dnl then
3626 dnl   GTK_PATH="${PATH}"
3627 dnl   AC_ARG_WITH(gtk-config-path,
3628 dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
3629 dnl     [ if test "${with_gtk_config_path}" != "no"
3630 dnl       then
3631 dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
3632 dnl       fi ])
3633 dnl   # look for gtk-config
3634 dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
3635 dnl   GTK_CONFIG=${GTK12_CONFIG}
3636 dnl   if test "${GTK_CONFIG}" = "no"
3637 dnl   then
3638 dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
3639 dnl   fi
3640 dnl   if test "${GTK_CONFIG}" != "no"
3641 dnl   then
3642 dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
3643 dnl     then
3644 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.])
3645 dnl     fi
3646 dnl     if test "${SYS}" != "mingw32"; then
3647 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
3648 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
3649 dnl     else
3650 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
3651 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
3652 dnl     fi
3653 dnl     # now look for the gtk.h header
3654 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
3655 dnl     ac_cv_gtk_headers=yes
3656 dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
3657 dnl       ac_cv_gtk_headers=no
3658 dnl       echo "Cannot find gtk development headers."
3659 dnl     ])
3660 dnl     if test "${ac_cv_gtk_headers}" = "yes"
3661 dnl     then
3662 dnl       VLC_ADD_PLUGINS([gtk])
3663 dnl       if test "${SYS}" != "mingw32"; then
3664 dnl         NEED_GTK_MAIN=yes
3665 dnl       fi
3666 dnl       ALIASES="${ALIASES} gvlc"
3667 dnl     fi
3668 dnl     CPPFLAGS="${CPPFLAGS_save}"
3669 dnl   fi
3670 dnl fi
3671 dnl 
3672 dnl
3673 dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
3674 dnl
3675 dnl AC_ARG_ENABLE(gtk2,
3676 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
3677 dnl if test "${enable_gtk2}" = "yes"
3678 dnl then
3679 dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3680 dnl   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3681 dnl   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3682 dnl   VLC_ADD_PLUGINS([gtk2])
3683 dnl   if test "${SYS}" != "mingw32"; then
3684 dnl     NEED_GTK2_MAIN=yes
3685 dnl   fi
3686 dnl fi
3687
3688 dnl
3689 dnl  PDA Gtk+2 module
3690 dnl
3691 AC_ARG_ENABLE(pda,
3692   [  --enable-pda            PDA interface needs Gtk2 support (default disabled)])
3693 if test "${enable_pda}" = "yes"
3694 then
3695   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3696   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3697   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3698   VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
3699   VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
3700   VLC_ADD_PLUGINS([pda])
3701   if test "${SYS}" != "mingw32"; then
3702     NEED_GTK2_MAIN=yes
3703   fi
3704 fi
3705
3706 dnl dnl
3707 dnl dnl  Gnome module
3708 dnl dnl
3709 dnl AC_ARG_ENABLE(gnome,
3710 dnl   [  --enable-gnome          Gnome interface support (default disabled)],
3711 dnl   [if test "${enable_gnome}" = "yes"; then
3712 dnl     # look for gnome-config
3713 dnl     AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
3714 dnl     if test -x ${GNOME_CONFIG}
3715 dnl     then
3716 dnl        VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
3717 dnl        VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
3718 dnl     fi
3719 dnl     # now look for the gnome.h header
3720 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
3721 dnl     AC_CHECK_HEADERS(gnome.h, [
3722 dnl       VLC_ADD_PLUGINS([gnome])
3723 dnl       NEED_GTK_MAIN=yes
3724 dnl       NEED_GNOME_MAIN=yes
3725 dnl       ALIASES="${ALIASES} gnome-vlc"
3726 dnl       dnl We need this because of some moronic gnomesupport.h flavours
3727 dnl       AC_MSG_CHECKING(for strndup in gnome.h)
3728 dnl       AC_EGREP_HEADER(strndup,gnome.h,[
3729 dnl         AC_MSG_RESULT(yes)
3730 dnl         AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
3731 dnl                   Define if <gnome.h> defines strndup.)],[
3732 dnl         AC_MSG_RESULT(no)])
3733 dnl      ],[
3734 dnl       AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
3735 dnl developement tools or remove the --enable-gnome option])
3736 dnl      ])
3737 dnl     CPPFLAGS="${CPPFLAGS_save}"
3738 dnl   fi])
3739
3740 dnl
3741 dnl  Gnome2 module ! Disabled for know as it is unuseable and confuses users
3742 dnl
3743 dnl AC_ARG_ENABLE(gnome2,
3744 dnl   [  --enable-gnome2         Gnome2 support (default disabled)])
3745 dnl if test "${enable_gnome2}" = "yes"
3746 dnl then
3747 dnl   PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
3748 dnl   VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
3749 dnl   VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
3750 dnl   VLC_ADD_PLUGINS([gnome2])
3751 dnl   if test "${SYS}" != "mingw32"; then
3752 dnl     NEED_GNOME2_MAIN=yes
3753 dnl   fi
3754 dnl fi
3755
3756 dnl
3757 dnl  wxWidgets module
3758 dnl
3759 AC_ARG_ENABLE(wxwidgets,
3760   [  --enable-wxwidgets      wxWidgets support (default enabled)])
3761 if test "${enable_wxwindows}" 
3762 then
3763   AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
3764 fi
3765
3766 if test "${enable_wxwindows}" = "no"
3767 then
3768   enable_wxwidgets="no"
3769 fi
3770 if test "${enable_wxwidgets}" != "no"
3771 then
3772   WXWIDGETS_PATH="${PATH}"
3773   AC_ARG_WITH(wx-config-path,
3774     [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
3775     [ if test "${with_wx_config_path}" != "no"
3776       then
3777         WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
3778       fi ])
3779   WXWIDGETS_NAME="wx-config"
3780   AC_ARG_WITH(wx-config,
3781     [    --with-wx-config=NAME      wx-config name (default is wx-config)],
3782     [ if test "${with_wx_config}" != "no"
3783       then
3784         WXWIDGETS_NAME="${with_wx_config}"
3785       fi ])
3786   # look for wx-config
3787   AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
3788   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
3789   then
3790     if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
3791     then
3792       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.])
3793     fi
3794     AC_LANG_PUSH(C++)
3795     # Turn this error:
3796     #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
3797     # into a warning. However better would be to fix playlist.cpp
3798     AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
3799         [ac_cv_cxx_fpermissive],
3800         [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
3801          AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
3802                         ac_cv_cxx_fpermissive=no)])
3803     if test "${ac_cv_cxx_fpermissive}" = "yes"; then
3804       VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
3805     fi
3806     VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
3807     VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
3808     if test "$have_libcdio" = "yes"
3809     then 
3810       VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
3811       VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
3812     else 
3813       AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
3814     fi
3815
3816     if test "$have_libvcdinfo" = "yes"
3817     then 
3818       VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
3819       VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
3820     else 
3821       AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
3822     fi
3823
3824     # now look for the wxprec.h header
3825     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
3826     ac_cv_wx_headers=yes
3827     AC_CHECK_HEADERS(wx/wxprec.h, , [
3828       ac_cv_wx_headers=no
3829       echo "Cannot find wxWidgets development headers."
3830     ])
3831     if test "${ac_cv_wx_headers}" = "yes"
3832     then
3833       VLC_ADD_PLUGINS([wxwidgets])
3834       ALIASES="${ALIASES} wxvlc"
3835     fi
3836     CPPFLAGS="${CPPFLAGS_save}"
3837     AC_LANG_POP(C++)
3838   fi
3839 fi
3840
3841 dnl
3842 dnl  WinCE GUI module
3843 dnl
3844 if test "${SYS}" = "mingwce"; then
3845   VLC_ADD_BUILTINS([wince])
3846   VLC_ADD_CXXFLAGS([wince],[])
3847   VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
3848   dnl Gross hack
3849   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3850 elif test "${SYS}" = "mingw32"; then
3851   VLC_ADD_CXXFLAGS([wince],[])
3852   VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
3853   dnl Gross hack
3854   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3855 fi
3856
3857 dnl
3858 dnl Simple test for skins2 dependency
3859 dnl
3860 if test "${enable_skins2}" != "no"
3861 then
3862   if test "${WX_CONFIG}" = "no"
3863   then
3864     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.])
3865   fi
3866 fi
3867
3868 dnl dnl
3869 dnl dnl  Qt module
3870 dnl dnl
3871 dnl AC_ARG_ENABLE(qt,
3872 dnl   [  --enable-qt             Qt interface support (default disabled)],
3873 dnl   [if test "${enable_qt}" = "yes"; then
3874 dnl      VLC_ADD_PLUGINS([qt])
3875 dnl      ALIASES="${ALIASES} qvlc"
3876 dnl      VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
3877 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
3878 dnl      AC_CHECK_LIB(qt-mt,main,[
3879 dnl        VLC_ADD_LDFLAGS([qt],[-lqt-mt])
3880 dnl      ],[
3881 dnl        AC_CHECK_LIB(qt,main,[
3882 dnl          VLC_ADD_LDFLAGS([qt],[-lqt])
3883 dnl        ])
3884 dnl      ])
3885 dnl      LDFLAGS="${LDFLAGS_save}"
3886 dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3887 dnl      if test -x ${QTDIR}/bin/moc
3888 dnl      then
3889 dnl        MOC=${QTDIR}/bin/moc
3890 dnl      else
3891 dnl        MOC=moc
3892 dnl      fi
3893 dnl    fi])
3894 dnl 
3895 dnl dnl
3896 dnl dnl  KDE module
3897 dnl dnl
3898 dnl AC_ARG_ENABLE(kde,
3899 dnl   [  --enable-kde            KDE interface support (default disabled)],
3900 dnl   [if test "${enable_kde}" = "yes"; then
3901 dnl      VLC_ADD_PLUGINS([kde])
3902 dnl      ALIASES="${ALIASES} kvlc"
3903 dnl      VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
3904 dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
3905 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3906 dnl      AC_CHECK_LIB(kfile,main,[
3907 dnl        VLC_ADD_LDFLAGS([kde],[-lkfile])
3908 dnl      ])
3909 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3910 dnl      AC_CHECK_LIB(kdeui,main,[
3911 dnl        VLC_ADD_LDFLAGS([kde],[-lkdeui])
3912 dnl      ])
3913 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3914 dnl      AC_CHECK_LIB(kio,main,[
3915 dnl        VLC_ADD_LDFLAGS([kde],[-lkio])
3916 dnl      ])
3917 dnl      LDFLAGS="${LDFLAGS_save}"
3918 dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
3919 dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
3920 dnl      if test -x ${QTDIR}/bin/moc
3921 dnl      then
3922 dnl        MOC=${QTDIR}/bin/moc
3923 dnl      else
3924 dnl        MOC=moc
3925 dnl      fi
3926 dnl    fi])
3927
3928 dnl
3929 dnl  Opie QT embedded module
3930 dnl
3931 AC_ARG_ENABLE(opie,
3932   [  --enable-opie           Qt embedded interface support (default disabled)],
3933   [if test "${enable_opie}" = "yes"; then
3934      AC_ARG_WITH(qte,
3935      [    --with-qte=PATH       Qt Embedded headers and libraries])
3936      if test "${with_qte}" != "no" -a -n "${with_qte}"
3937      then
3938        VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3939        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])
3940      else
3941        VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
3942        VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
3943      fi
3944      CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3945      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3946        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3947      ] )
3948      CPPFLAGS="${CPPFLAGS_save}"
3949
3950      VLC_ADD_PLUGINS([opie])
3951      NEED_QTE_MAIN=yes
3952      VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
3953      VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
3954      if test "${with_qte}" != "no" -a -n "${with_qte}"
3955      then
3956        MOC=${with_qte}/bin/moc
3957      else
3958        MOC=${QTDIR}/bin/moc
3959      fi
3960    fi])
3961
3962 dnl
3963 dnl  MacOS X module
3964 dnl
3965 AC_ARG_ENABLE(macosx,
3966   [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
3967   [if test "${enable_macosx}" = "yes"
3968    then
3969      VLC_ADD_BUILTINS([macosx])
3970      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3971    fi],
3972   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
3973      VLC_ADD_BUILTINS([macosx])
3974      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3975    )])
3976
3977 dnl
3978 dnl  QNX RTOS module
3979 dnl
3980 AC_ARG_ENABLE(qnx,
3981   [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
3982     if test "${enable_qnx}" != "no"
3983     then
3984       AC_CHECK_HEADERS(Ph.h, [
3985         VLC_ADD_PLUGINS([qnx])
3986         VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
3987       ])
3988     fi
3989
3990 dnl
3991 dnl  ncurses module
3992 dnl
3993 AC_ARG_ENABLE(ncurses,
3994   [  --enable-ncurses        ncurses interface support (default disabled)],
3995   [if test "${enable_ncurses}" = "yes"; then
3996      VLC_ADD_PLUGINS([ncurses])
3997      VLC_ADD_LDFLAGS([ncurses],[-lncurses])
3998    fi])
3999
4000 dnl
4001 dnl  XOSD plugin
4002 dnl
4003 AC_ARG_ENABLE(xosd,
4004   [  --enable-xosd           xosd interface support (default disabled)])
4005 if test "${enable_xosd}" = "yes"
4006 then
4007   AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4008   AC_CHECK_LIB(xosd,xosd_set_offset,
4009       AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4010     AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4011         AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4012       AC_TRY_COMPILE([#include <xosd.h>],
4013          [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4014           AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4015   if test "${have_xosd}" = "true"
4016   then
4017     VLC_ADD_PLUGINS([xosd])
4018     VLC_ADD_LDFLAGS([xosd],[-lxosd])
4019   fi
4020 fi
4021
4022 dnl
4023 dnl Visualisation plugin
4024 dnl
4025 AC_ARG_ENABLE(visual,
4026   [  --enable-visual         visualisation plugin (default enabled)])
4027 if test "${enable_visual}" != "no"
4028 then
4029     VLC_ADD_PLUGINS([visual])
4030 fi
4031
4032 dnl
4033 dnl OpenGL visualisation plugin
4034 dnl
4035 AC_ARG_ENABLE(galaktos,
4036   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
4037 if test "${enable_galaktos}" = "yes"
4038 then
4039   AC_CHECK_HEADERS(GL/gl.h, [
4040     VLC_ADD_PLUGINS([galaktos])
4041     if test "${SYS}" != "mingw32"; then
4042       VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
4043     else
4044       VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4045     fi
4046   ])
4047 fi
4048
4049 dnl
4050 dnl  goom visualization plugin
4051 dnl
4052 AC_ARG_ENABLE(goom,
4053 [  --enable-goom           goom visualisation plugin (default disabled)])
4054 if test "${enable_goom}" = "yes"
4055 then
4056   AC_ARG_WITH(goom-tree,
4057     [    --with-goom-tree=PATH goom tree for static linking (required)])
4058
4059   dnl
4060   dnl test for --with-goom-tree
4061   dnl
4062   if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4063     AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4064     real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4065     if test -z "${real_goom_tree}"; then
4066       dnl  The given directory can't be found
4067       AC_MSG_RESULT(no)
4068       AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4069     fi
4070     if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4071       AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4072       VLC_ADD_BUILTINS([goom])
4073       VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4074       VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4075     else
4076       dnl  The given libgoom2 wasn't built, try to look for the old goom
4077       AC_MSG_RESULT(no)
4078       AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4079       if test -f "${real_goom_tree}/libgoom.a"; then
4080         AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4081         VLC_ADD_BUILTINS([goom])
4082         VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4083         VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4084       else
4085         dnl  The given libgoom wasn't built
4086         AC_MSG_RESULT(no)
4087         AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4088       fi
4089     fi
4090   else
4091     AC_CHECK_HEADERS(goom/goom.h, [
4092       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4093       AC_CHECK_LIB(goom2, goom_init, [
4094         VLC_ADD_PLUGINS([goom])
4095         VLC_ADD_LDFLAGS([goom],[-lgoom2])
4096       ],[
4097         AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4098       ])
4099       LDFLAGS="${LDFLAGS_save}"
4100     ])
4101   fi
4102 fi
4103
4104 dnl
4105 dnl  SLP access plugin
4106 dnl
4107 AC_ARG_ENABLE(slp,
4108   [  --enable-slp            SLP service discovery support (default disabled)])
4109 if test "${enable_slp}" = "yes"
4110 then
4111   AC_ARG_WITH(slp,
4112   [    --with-slp=PATH       libslp headers and libraries])
4113   if test -z "${with_slp}"
4114   then
4115     AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
4116     if test "${have_slp}" = "true"
4117     then
4118       VLC_ADD_PLUGINS([slp])
4119       VLC_ADD_LDFLAGS([slp],[-lslp])
4120       VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
4121     fi
4122   else
4123     AC_MSG_CHECKING(for slp headers in ${with_slp})
4124     if test -f ${with_slp}/slp.h
4125     then
4126       dnl  Use ${with_slp}/libslp/slp.h
4127       AC_MSG_RESULT(yes)
4128       VLC_ADD_PLUGINS([slp])
4129       VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
4130       VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
4131       VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
4132       AC_DEFINE(HAVE_SLP_H)
4133     else
4134       dnl  No libslp could be found, sorry
4135       AC_MSG_RESULT(no)
4136       AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
4137     fi
4138   fi
4139 fi
4140
4141 dnl
4142 dnl DAAP access plugin and services discovery 
4143 dnl
4144 AC_ARG_ENABLE(daap,
4145   [  --enable-daap                DAAP shares services discovery support (default enabled)])
4146 if test "$enable_daap" != "no"
4147 then
4148    PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4149       [ VLC_ADD_PLUGINS([daap])
4150        VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4151        VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4152       [AC_MSG_WARN(DAAP library not found)])
4153 fi
4154
4155 dnl
4156 dnl  Bonjour services discovery
4157 dnl
4158 AC_ARG_ENABLE(bonjour,
4159   [  --enable-bonjour        Bonjour services discovery (default enabled)])
4160 if test "${enable_bonjour}" != "no"
4161 then
4162   PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
4163     [AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
4164       VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
4165       VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
4166       VLC_ADD_PLUGINS([bonjour]) ],
4167     [AC_MSG_WARN(avahi-client library not found)])
4168 fi
4169
4170 dnl
4171 dnl  Lirc plugin
4172 dnl
4173 AC_ARG_ENABLE(lirc,
4174   [  --enable-lirc           lirc support (default disabled)])
4175 if test "${enable_lirc}" = "yes"
4176 then
4177   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4178   if test "${have_lirc}" = "true"
4179   then
4180     VLC_ADD_PLUGINS([lirc])
4181     VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4182   fi
4183 fi
4184
4185 dnl 
4186 dnl  Joystick plugin
4187 dnl
4188 AC_ARG_ENABLE(joystick,
4189   [  --enable-joystick       joystick control (default enabled)])
4190 if test "${enable_joystick}" = "yes"; then
4191   AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
4192 fi
4193
4194 dnl
4195 dnl corba (ORBit) plugin
4196 dnl
4197 dnl Default: do not enable corba
4198 enablecorba=false
4199 AC_ARG_ENABLE(corba,
4200   [  --enable-corba          corba interface support (default disabled)])
4201 if test "${enable_corba}" = "yes"; then
4202       GLIB_VERSION=2.3.2
4203       PKG_CHECK_MODULES(CORBA, 
4204         ORBit-2.0 >= 2.8.0 \
4205         glib-2.0 >= $GLIB_VERSION \
4206         gobject-2.0 >= $GLIB_VERSION \
4207         gthread-2.0 >= $GLIB_VERSION,
4208         [
4209           enablecorba=true
4210           VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
4211           VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
4212           VLC_ADD_PLUGINS([corba snapshot]) ],
4213         [ enablecorba=false
4214           AC_MSG_WARN(corba library not found) ])
4215 fi
4216 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
4217
4218 AC_ARG_WITH(,[Misc options:])
4219
4220 dnl
4221 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
4222 dnl
4223 dnl  We give the user the opportunity to specify
4224 dnl  --with-words=big or --with-words=little ; otherwise, try to guess
4225 dnl
4226 AC_ARG_WITH(words,
4227   [    --with-words=endianness set endianness (big or little)])
4228   case "${with_words}" in
4229     big)
4230       ac_cv_c_bigendian=yes
4231       ;;
4232     little)
4233       ac_cv_c_bigendian=no
4234       ;;
4235     *)
4236       dnl  Try to guess endianness by matching patterns on a compiled
4237       dnl  binary, by looking for an ASCII or EBCDIC string
4238       AC_CACHE_CHECK([whether the byte order is big-endian],
4239         [ac_cv_c_bigendian],
4240         [ac_cv_c_bigendian="unknown"
4241         [cat >conftest.c <<EOF
4242         short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
4243         short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
4244         void _a(void) { char*s = (char*)am; s = (char *)ai; }
4245         short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
4246         short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
4247         void _e(void) { char*s = (char*)em; s = (char*)ei; }
4248         int main(void) { _a(); _e(); return 0; }
4249 EOF
4250         ]
4251         if test -f conftest.c
4252         then
4253           if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
4254               && test -f conftest.o
4255           then
4256             if test "`strings conftest.o | grep BIGenDianSyS`"
4257             then
4258               ac_cv_c_bigendian="yes"
4259             fi
4260             if test "`strings conftest.o | grep LiTTleEnDian`"
4261             then
4262               ac_cv_c_bigendian="no"
4263             fi
4264           fi
4265         fi
4266       ])
4267       if test "${ac_cv_c_bigendian}" = "unknown"
4268       then
4269         AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4270       fi
4271       ;;
4272   esac
4273 dnl  Now we know what to use for endianness, just put it in the header
4274 if test "${ac_cv_c_bigendian}" = "yes"
4275 then
4276   AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4277 fi
4278
4279 dnl
4280 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4281 dnl
4282 loader=false
4283 AC_ARG_ENABLE(loader,
4284   [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
4285 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4286 AS_IF([test "${enable_loader}" = "yes"],
4287   [ VLC_ADD_PLUGINS([dmo quicktime])
4288     VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
4289     VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
4290     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
4291     VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
4292   ])
4293
4294 dnl
4295 dnl  Microsoft ActiveX support
4296 dnl
4297 activex=false
4298 AC_ARG_ENABLE(activex,
4299   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
4300 if test "${enable_activex}" != "no"
4301 then
4302   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4303   then
4304     AC_CHECK_PROGS(MIDL, [midl widl], no)
4305     AC_CHECK_HEADERS(ole2.h olectl.h,
4306       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4307         VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
4308         AC_CHECK_HEADERS(objsafe.h,
4309           VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
4310         )
4311         activex=:
4312       ],
4313       [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4314     )
4315   fi
4316 fi
4317 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4318 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4319 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4320
4321 dnl
4322 dnl  Mozilla plugin
4323 dnl
4324 mozilla=false
4325 AC_ARG_ENABLE(mozilla,
4326   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
4327 AC_ARG_WITH(mozilla-sdk-path,
4328   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
4329
4330 if test "${enable_mozilla}" = "yes" -a "${with_mozilla_sdk_path}" = ""
4331 then
4332   AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4333   if test "${MOZILLA_CONFIG}" = "no"
4334   then
4335     AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4336   else
4337     if test "${SYS}" != "mingw32"; then
4338       LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
4339       AC_CHECK_LIB(Xt,XtStrings,
4340        [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
4341        [],
4342        [[-L${x_libraries} -lX11 -lSM -lICE]
4343       ])
4344       LDFLAGS="${LDFLAGS_save}"
4345     fi
4346     mozilla=:
4347     dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4348     VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4349     VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4350     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4351     AC_CHECK_HEADERS(mozilla-config.h)
4352     CPPFLAGS="${CPPFLAGS_save}"
4353   fi
4354
4355 dnl special case for mingw32
4356 elif test "${enable_mozilla}" = "yes"
4357 then
4358   if test "${SYS}" = "mingw32"; then
4359     AC_CHECK_TOOL(CYGPATH, cygpath, "")
4360     mozilla_sdk_xpcom="/xpcom"
4361   fi
4362
4363   real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4364   CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4365   AC_CHECK_HEADERS(mozilla-config.h, [
4366     mozilla=:
4367     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])
4368     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])
4369     if test "${SYS}" = "mingw32"; then
4370       VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
4371     fi
4372
4373     XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
4374     XPIDL="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin/xpidl"
4375
4376     if test -n "${CYGPATH}"; then
4377       real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4378       XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
4379     fi ])
4380   CPPFLAGS="${CPPFLAGS_save}"
4381 fi
4382
4383 dnl Not necessarily in ${PATH}
4384 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
4385   XPIDL="/usr/lib/mozilla/xpidl"
4386 fi
4387 AS_IF([test "${MOZILLA_CONFIG}"], [
4388   if test -z "${XPIDL_INCL}"; then
4389     XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
4390     `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
4391   fi
4392 ])
4393 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4394
4395 dnl
4396 dnl  test plugins
4397 dnl
4398 AC_ARG_ENABLE(testsuite,
4399   [  --enable-testsuite      build test modules (default disabled)])
4400 if test "${enable_testsuite}" = "yes"
4401 then
4402   TESTS="test1 test2 test3 test4"
4403
4404   dnl  we define those so that bootstrap sets the right linker
4405   VLC_ADD_CXXFLAGS([test2],[])
4406   VLC_ADD_OBJCFLAGS([test3],[])
4407   dnl  this one is needed until automake knows what to do
4408   VLC_ADD_LDFLAGS([test3],[-lobjc])
4409
4410   VLC_ADD_PLUGINS([${TESTS}])
4411   #VLC_ADD_BUILTINS([${TESTS}])
4412 fi
4413
4414 dnl
4415 dnl  gtk_main plugin
4416 dnl
4417 if test "${NEED_GTK_MAIN}" != "no"
4418 then
4419     VLC_ADD_PLUGINS([gtk_main])
4420     VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
4421     VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
4422 fi
4423
4424 if test "${NEED_GNOME_MAIN}" != "no"
4425 then
4426     VLC_ADD_PLUGINS([gnome_main])
4427     VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
4428     VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
4429 fi
4430
4431 if test "${NEED_GTK2_MAIN}" != "no"
4432 then
4433     VLC_ADD_PLUGINS([gtk2_main])
4434     VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
4435     VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
4436     VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
4437     VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
4438 fi
4439
4440 if test "${NEED_GNOME2_MAIN}" != "no"
4441 then
4442     VLC_ADD_PLUGINS([gnome2_main])
4443     VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
4444     VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
4445 fi
4446
4447 dnl
4448 dnl  qte_main plugin
4449 dnl
4450 if test "${NEED_QTE_MAIN}" != "no"
4451 then
4452     VLC_ADD_PLUGINS([qte_main])
4453     VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4454     VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4455     VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
4456 fi
4457
4458
4459 dnl
4460 dnl  Plugin and builtin checks
4461 dnl
4462 builtin_support=false
4463 plugin_support=:
4464
4465 dnl Support for plugins - this must be AT THE END
4466 AC_ARG_ENABLE(plugins,
4467   [  --disable-plugins       make all plugins built-in (default plugins enabled)],
4468   [if test "${enable_plugins}" = "no"
4469    then
4470      plugin_support=false
4471    fi])
4472
4473 dnl Automagically disable plugins if there is no system support for
4474 dnl dynamically loadable files (.so, .dll, .dylib).
4475 dnl don't forget vlc-win32 still can load .dll as plugins
4476 if test "${ac_cv_have_plugins}" = "no"
4477 then
4478   echo "*** Your system doesn't have plugin support. All plugins will be built"
4479   echo "statically."
4480   plugin_support=false
4481 fi
4482
4483 dnl Export automake variables
4484 if ${plugin_support}
4485 then
4486   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
4487   for plugin in `echo ${PLUGINS}`
4488   do
4489     eval "${plugin}_p=yes"
4490   done
4491 else
4492   VLC_ADD_BUILTINS([${PLUGINS}])
4493   PLUGINS=""
4494 fi
4495 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
4496
4497 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
4498 then
4499   builtin_support=:
4500   for builtin in `echo ${BUILTINS}`
4501   do
4502     eval "${builtin}_b=yes"
4503   done
4504 fi]
4505 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
4506
4507 AC_ARG_ENABLE(shared-libvlc,
4508   [  --enable-shared-libvlc  shared libvlc (default disabled EXPERIMENTAL)],
4509   ,[shared_libvlc=no])
4510
4511 AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
4512 AS_IF([test "${shared_libvlc}" != "no"], [
4513   AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
4514 ])
4515
4516 pic=no
4517 AS_IF([test "${shared_libvlc}" != "no"], [pic=pic])
4518 AS_IF([${mozilla}], [pic=pic])
4519 AS_IF([test "${SYS}" = "mingw32"], [pic=no])
4520
4521 AS_IF([test "${pic}" = "no"], [pic=])
4522 AC_SUBST(pic)
4523
4524 dnl Import conditional variables generated by bootstrap
4525 VLC_CONDITIONALS
4526
4527 dnl
4528 dnl  Stuff used by the program
4529 dnl
4530 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
4531 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 the VideoLAN team", [Copyright string])
4532 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4533 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
4534 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
4535 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
4536 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
4537 AC_SUBST(VERSION_MAJOR)
4538 AC_SUBST(VERSION_MINOR)
4539 AC_SUBST(VERSION_REVISION)
4540 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
4541 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) 
4542 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
4543 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
4544
4545 dnl Old definitions for version-dependant plugins
4546 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
4547 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
4548 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
4549
4550 dnl New definitions with value matching 0.8.4 release
4551 module_symbol="0_8_4"
4552 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
4553 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
4554 VLC_ENTRY="vlc_entry__${module_symbol}"
4555 AC_SUBST(VLC_ENTRY)
4556
4557 DATA_PATH="${ac_tool_prefix}/share/vlc"
4558 AC_SUBST(DATA_PATH)
4559 PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
4560 AC_SUBST(PLUGIN_PATH)
4561
4562 dnl
4563 dnl  Handle substvars that use $(top_srcdir)
4564 dnl
4565 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4566 AC_SUBST(VLC_CONFIG)
4567 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
4568
4569 dnl
4570 dnl  Restore *FLAGS
4571 dnl
4572 VLC_RESTORE_FLAGS
4573
4574 dnl
4575 dnl  Create the vlc-config script
4576 dnl
4577 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
4578 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
4579
4580 dnl
4581 dnl  Configuration is finished
4582 dnl
4583 AC_SUBST(SYS)
4584 AC_SUBST(ARCH)
4585 AC_SUBST(ALIASES)
4586 AC_SUBST(ASM)
4587 AC_SUBST(MOC)
4588 AC_SUBST(WINDRES)
4589 AC_SUBST(XPIDL)
4590 AC_SUBST(XPIDL_INCL)
4591 AC_SUBST(LIBEXT)
4592 AC_SUBST(INCLUDES)
4593 AC_SUBST(ALL_LINGUAS)
4594
4595 dnl Import substitutions generated by bootstrap
4596 VLC_SUBSTS
4597
4598 dnl Create vlc-config.in
4599 VLC_OUTPUT_VLC_CONFIG_IN
4600
4601 AC_CONFIG_FILES([
4602   Makefile
4603   activex/Makefile
4604   activex/axvlc.inf
4605   debian/Makefile
4606   doc/Makefile
4607   intl/Makefile
4608   ipkg/Makefile
4609   lib/Makefile
4610   loader/Makefile
4611   modules/Makefile
4612   mozilla/Makefile
4613   m4/Makefile
4614   po/Makefile.in
4615   share/Makefile
4616 ])
4617
4618 AC_CONFIG_FILES([
4619   modules/access/Makefile
4620   modules/access/dshow/Makefile
4621   modules/access/dvb/Makefile
4622   modules/access/mms/Makefile
4623   modules/access/pvr/Makefile
4624   modules/access/v4l/Makefile
4625   modules/access/cdda/Makefile
4626   modules/access/vcd/Makefile
4627   modules/access/vcdx/Makefile
4628   modules/access/screen/Makefile
4629   modules/access_filter/Makefile
4630   modules/access_output/Makefile
4631   modules/audio_filter/Makefile
4632   modules/audio_filter/channel_mixer/Makefile
4633   modules/audio_filter/converter/Makefile
4634   modules/audio_filter/resampler/Makefile
4635   modules/audio_mixer/Makefile
4636   modules/audio_output/Makefile
4637   modules/codec/Makefile
4638   modules/codec/cmml/Makefile
4639   modules/codec/dmo/Makefile
4640   modules/codec/ffmpeg/Makefile
4641   modules/codec/spudec/Makefile
4642   modules/control/Makefile
4643   modules/control/http/Makefile
4644   modules/control/corba/Makefile
4645   modules/demux/Makefile
4646   modules/demux/asf/Makefile
4647   modules/demux/avi/Makefile
4648   modules/demux/mp4/Makefile
4649   modules/demux/mpeg/Makefile
4650   modules/demux/playlist/Makefile
4651   modules/demux/util/Makefile
4652   modules/gui/Makefile
4653   modules/gui/beos/Makefile
4654   modules/gui/pda/Makefile
4655   modules/gui/macosx/Makefile
4656   modules/gui/qnx/Makefile
4657   modules/gui/skins2/Makefile
4658   modules/gui/wxwidgets/Makefile
4659   modules/gui/wince/Makefile
4660   modules/misc/Makefile
4661   modules/misc/dummy/Makefile
4662   modules/misc/memcpy/Makefile
4663   modules/misc/network/Makefile
4664   modules/misc/testsuite/Makefile
4665   modules/misc/playlist/Makefile
4666   modules/misc/xml/Makefile
4667   modules/mux/Makefile
4668   modules/mux/mpeg/Makefile
4669   modules/packetizer/Makefile
4670   modules/services_discovery/Makefile
4671   modules/stream_out/Makefile
4672   modules/stream_out/transrate/Makefile
4673   modules/video_chroma/Makefile
4674   modules/video_filter/Makefile
4675   modules/video_filter/swscale/Makefile
4676   modules/video_output/Makefile
4677   modules/video_output/directx/Makefile
4678   modules/video_output/qte/Makefile
4679   modules/video_output/x11/Makefile
4680   modules/visualization/Makefile
4681   modules/visualization/visual/Makefile
4682   modules/visualization/galaktos/Makefile
4683 ])
4684
4685 dnl Generate makefiles
4686 AC_OUTPUT
4687
4688 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4689 # not provided with the source
4690 ${SHELL} ./config.status --file=vlc-config
4691 chmod 0755 vlc-config
4692
4693 dnl echo "Enabled builtin modules :"
4694 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
4695
4696 dnl echo "Enabled plugin modules :"
4697 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
4698
4699 printf "
4700 vlc configuration
4701 --------------------
4702 vlc version           : ${VERSION}
4703 system                : ${SYS}
4704 architecture          : ${ARCH}
4705 build flavour         : "
4706 test "${enable_debug}" = "yes" && printf "debug "
4707 test "${enable_cprof}" = "yes" && printf "cprof "
4708 test "${enable_gprof}" = "yes" && printf "gprof "
4709 test "${enable_optimizations}" = "yes" && printf "optim "
4710 test "${enable_release}" = "yes" && printf "release " || printf "devel "
4711 echo "
4712 vlc aliases           :${ALIASES}
4713
4714 You can tune the compiler flags in vlc-config.
4715 To build vlc and its plugins, type \`make'.
4716 "
4717