]> git.sesse.net Git - vlc/blob - configure.ac
* New gnomevfs access module
[vlc] / configure.ac
1 dnl Autoconf settings for vlc
2 dnl $Id$
3
4 AC_INIT(vlc,0.8.4-svn)
5 VERSION_MAJOR="0"
6 VERSION_MINOR="8"
7 VERSION_REVISION="4"
8 VERSION_EXTRA="svn"
9
10 CONFIGURE_LINE="$0 $*"
11 CODENAME="Janus"
12
13 AC_PREREQ(2.50)
14 AC_CONFIG_SRCDIR(src/libvlc.c)
15 AC_CONFIG_AUX_DIR(autotools)
16 AC_CANONICAL_SYSTEM
17
18 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
19 dnl them. And we need the comma otherwize automake will choke on it.
20 AM_INIT_AUTOMAKE(vlc,0.8.4-svn)
21 AM_CONFIG_HEADER(config.h)
22
23 dnl
24 dnl  Save *FLAGS
25 dnl
26 VLC_SAVE_FLAGS
27
28 dnl
29 dnl Check for tools
30 dnl
31 AC_PROG_CC
32 AM_PROG_CC_C_O
33 AC_PROG_CPP
34 AC_PROG_CXX
35 eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
36 if test "${CXX}" != ""; then
37   AC_PROG_CXXCPP
38 fi
39 AC_PROG_MAKE_SET
40 AC_PROG_INSTALL
41 AM_PROG_AS
42
43 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
44 dnl now otherwise it might be set in an obscure if statement.
45 AC_EGREP_CPP(foo,foo)
46
47 dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
48 AC_MSG_CHECKING(for an Objective-C compiler)
49 OBJC="${CXX}"
50 AC_SUBST(OBJC)
51 OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
52 AC_SUBST(OBJCFLAGS)
53 dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
54 #OBJCDEPMODE="depmode=gcc3"
55 #AC_SUBST(OBJCDEPMODE)
56 _AM_DEPENDENCIES(OBJC)
57 AC_MSG_RESULT(not implemented yet)
58
59 dnl Find the right ranlib, even when cross-compiling
60 AC_CHECK_TOOL(RANLIB, ranlib, :)
61 AC_CHECK_TOOL(STRIP, strip, :)
62 AC_CHECK_TOOL(AR, ar, :)
63 AC_CHECK_TOOL(LD, ld, :)
64
65 dnl Sam, if you think I didn't see that... --Meuuh
66 dnl AM_PROG_LIBTOOL
67 AC_PROG_INSTALL
68
69 dnl Check for compiler properties
70 AC_C_CONST
71 AC_C_INLINE
72
73 dnl
74 dnl  Check for the contrib directory
75 dnl
76 AC_ARG_WITH(contrib,
77     [  --without-contrib       do not use the libraries in extras/contrib],[],[])
78   if test "${with_contrib}" != "no"; then 
79
80     topdir="`dirname $0`"
81     if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
82        topdir="`pwd`/$topdir"
83     fi
84
85   if test -d ${topdir}/extras/contrib/lib; then
86     export PATH=${topdir}/extras/contrib/bin:$PATH
87     CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
88     CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
89     CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
90     CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
91     CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
92     CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
93     OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
94     OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
95     if test -d ${topdir}/extras/contrib/vlc-lib; then
96       LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
97       LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
98     fi
99     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
100     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
101     with_livedotcom_tree=${topdir}/extras/contrib/src/live
102     with_goom_tree=${topdir}/extras/contrib/src/goom
103     if test ".`uname -s`" = ".Darwin"; then
104       export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
105       export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
106     elif test ".`uname -s`" = ".BeOS"; then
107       export LIBRARY_PATH=${topdir}/extras/contrib/lib:$LIBRARY_PATH
108       export BELIBRARIES=${topdir}/extras/contrib/lib:$BELIBRARIES
109     fi
110   fi
111 fi
112 dnl
113 dnl  Set default values
114 dnl
115 LDFLAGS_vlc="${LDFLAGS}"
116
117 dnl
118 dnl  Check the operating system
119 dnl
120 case "${target_os}" in
121   "")
122     SYS=unknown
123     ;;
124   linux*)
125     SYS=linux
126     ;;
127   bsdi*)
128     SYS=bsdi
129     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
130     VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
131     ;;
132   *bsd*)
133     SYS="${target_os}"
134     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
135     ;;
136   darwin*)
137     SYS=darwin
138     CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
139     CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
140     OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
141     VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load])
142     VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
143     VLC_ADD_CFLAGS([libvlc],[-x objective-c])
144     VLC_ADD_CFLAGS([vlc],[-x objective-c])
145     VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress])
146     ;;
147   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
148     AC_CHECK_TOOL(WINDRES, windres, :)
149
150     case "${target_os}" in
151       *mingw32*)
152         SYS=mingw32
153         ;;
154       *cygwin*)
155         dnl Check if we are using the mno-cygwin mode in which case we are
156         dnl actually dealing with a mingw32 compiler.
157         AC_EGREP_CPP(yes,
158             [#ifdef WIN32
159              yes
160              #endif],
161             SYS=mingw32, SYS=cygwin)
162         ;;
163       *wince* | *mingwce* | *pe*)
164         SYS=mingwce
165         ;;
166     esac
167
168     if test "${SYS}" = "mingw32"; then
169         # add ws2_32 for closesocket, select, recv
170         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
171         VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
172         VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
173         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync],[-lws2_32])
174     fi
175     if test "${SYS}" = "mingwce"; then
176         # add ws2 for closesocket, select, recv
177         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
178         VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)])
179         VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup])
180         VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2])
181    fi
182     ;;
183   *nto*)
184     SYS=nto
185     VLC_ADD_LDFLAGS([x11 xvideo],[-lsocket])
186     ;;
187   solaris*)
188     SYS=solaris
189     # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
190     # Perhaps it is useful other places as well? 
191     CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
192     ;;
193   hpux*)
194     SYS=hpux
195     ;;
196   beos)
197     SYS=beos
198     CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
199     CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
200     VLC_ADD_CXXFLAGS([beos],[])
201     VLC_ADD_LDFLAGS([vlc beos],[-lbe])
202     VLC_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
203     VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc],[-lnet])
204
205     dnl Ugly check for Zeta
206     if test -f /boot/beos/system/lib/libzeta.so; then
207         VLC_ADD_LDFLAGS([beos],[-lzeta])
208     fi
209     ;;
210   *)
211     SYS="${target_os}"
212     ;;
213 esac
214 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
215 AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
216 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
217 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
218
219 dnl
220 dnl Gettext stuff
221 dnl
222 ALL_LINGUAS="ca da de en_GB es fr it ja ko nl pt_BR ro ru tr zh_TW"
223 AM_GNU_GETTEXT_VERSION(0.11.5)
224 AM_GNU_GETTEXT
225 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
226   AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
227   INCLUDES="${INCLUDES} -I\$(top_builddir)/intl"
228 else
229   AC_CHECK_FUNCS(textdomain,,[
230     AC_CHECK_LIB(intl,textdomain,
231       VLC_ADD_LDFLAGS([vlc],[${LIBINTL}]),,
232       ${LIBINTL}
233     )
234   ])
235 fi
236 AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
237 XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
238
239 dnl
240 dnl Iconv stuff
241 dnl
242 if test "${SYS}" != "mingwce"; then
243 AS_IF([test "$am_cv_func_iconv" != "yes"],
244         [AC_MSG_ERROR([libiconv is needed for VLC to work properly])])
245 fi
246 VLC_ADD_CFLAGS([vlc],[${INCICONV}])
247 VLC_ADD_LDFLAGS([vlc],[${LIBICONV}])
248
249 dnl Check for the need to include the mingwex lib for mingw32
250 if test "${SYS}" = "mingw32"
251 then
252     AC_CHECK_LIB(mingwex,opendir,
253         AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]),
254             [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
255     )
256 fi
257
258 dnl Check for fnative-struct or mms-bitfields support for mingw32
259 if test "${SYS}" = "mingw32"
260 then
261     AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
262         [ac_cv_c_mms_bitfields],
263         [CFLAGS="${CFLAGS_save} -mms-bitfields"
264          AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
265     if test "${ac_cv_c_mms_bitfields}" != "no"; then
266         CFLAGS_save="${CFLAGS_save} -mms-bitfields";
267         CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
268     else
269         AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
270             [ac_cv_c_fnative_struct],
271             [CFLAGS="${CFLAGS_save} -fnative-struct"
272              AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
273         if test "${ac_cv_c_fnative_struct}" != "no"; then
274             CFLAGS_save="${CFLAGS_save} -fnative-struct";
275             CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
276         fi
277     fi
278
279     CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
280 fi
281
282 dnl Check for fvtable-thunks support for mingw32
283 if test "${SYS}" = "mingw32" -a "${CXX}" != ""
284 then
285 AC_LANG_PUSH(C++)
286     AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
287         [ac_cv_cxx_fvtable_thunks],
288         [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
289          AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
290                         ac_cv_cxx_fvtable_thunks=no)])
291     if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
292         CXXFLAGS_mingw32_special="-fvtable-thunks"
293     fi
294
295     CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
296 AC_LANG_POP(C++)
297 fi
298
299 dnl Plugin compilation stuff
300
301 VLC_LIBRARY_SUFFIX
302
303 VLC_SYMBOL_PREFIX
304 AC_SUBST(SYMPREF)
305
306 case "${SYS}" in
307   mingw32|cygwin)
308     VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
309     VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
310     VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}])
311     ;;
312   mingwce)
313     ;;
314   *)
315     VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
316     VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
317     VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
318     VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
319     ;;
320 esac
321
322 dnl The -DSYS_FOO flag
323 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
324
325 dnl Check for system libs needed
326 need_libc=false
327
328 AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork)
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
1683 dnl  gnomeVFS access module
1684 dnl
1685 AC_ARG_ENABLE(gnomevfs,
1686   [  --enable-gnomevfs      GnomeVFS access module (default enables)])
1687 if test "{enable_gnomevfs}" != "no"
1688 then
1689   PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0,
1690     VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS])
1691     VLC_ADD_CPPFLAGS([access_gnomevfs],[$GNOMEVFS_CPPFLAGS])
1692     VLC_ADD_CFLAGS([access_gnomevfs],[$GNOMEVFS_CFLAGS])
1693     VLC_ADD_PLUGINS([access_gnomevfs]),
1694     AC_MSG_WARN([GnomeVFS support disbaled because GnomeVFS development headers not found]))
1695 fi
1696
1697 dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
1698 AC_ARG_ENABLE(libcdio,
1699   [  --enable-libcdio        CD input and control library support (default enabled)])
1700
1701
1702 have_libcdio=no
1703 have_libvcdinfo=no
1704 if test "${enable_libcdio}" != "no"
1705 then
1706   PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
1707      have_libcdio=yes
1708      AC_DEFINE(HAVE_LIBCDIO, [], 
1709      [Define if you have libcdio 0.72 or greater installed]),
1710      [AC_MSG_WARN(CD Reading and information library not found)])
1711
1712   PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
1713      [have_libvcdinfo=yes
1714      AC_DEFINE(HAVE_VCDINFO, [], 
1715      [Define if you have libvcdinfo 0.7.21 or greater installed])],
1716      [AC_MSG_WARN(VCD information library not found)])
1717 fi
1718
1719 dnl
1720 dnl  VCDX and CDDAX modules
1721 dnl
1722 AC_ARG_ENABLE(cddax,
1723   [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
1724  
1725 AC_ARG_ENABLE(libcddb,
1726   [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
1727  
1728 if test "${enable_cddax}" = "yes"
1729 then
1730   if test "$have_libcdio" = "yes"
1731   then
1732     AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
1733     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
1734     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
1735     VLC_ADD_PLUGINS([cddax])
1736     PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
1737     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
1738     AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
1739   else 
1740     AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
1741     HAVE_CDDAX=no
1742   fi
1743
1744   if test "$enable_libcddb" != "no"; then
1745     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
1746       HAVE_LIBCDDB=yes 
1747       AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
1748       VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
1749       VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
1750       ],
1751       [AC_MSG_WARN(new enough libcddb not found. CDDB access disabled) 
1752       HAVE_LIBCDDB=no])
1753   fi
1754  
1755 fi
1756
1757 AC_ARG_ENABLE(vcdx,
1758   [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
1759  
1760 if test "${enable_vcdx}" = "yes"
1761 then
1762   if test "${have_libvcdinfo}" = "yes"
1763   then
1764     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1765     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1766   else 
1767     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
1768     HAVE_VCDX=no
1769   fi
1770
1771   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
1772    [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
1773     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
1774     [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
1775     HAVE_VCDX=no])
1776
1777   if test "$have_libvcdinfo" = "yes"
1778   then
1779     AC_DEFINE(HAVE_VCDX, [], 
1780     [Define for the VCD plugin using libcdio/libvcdinfo])
1781     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
1782     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
1783     VLC_ADD_PLUGINS([vcdx])
1784   else 
1785     AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
1786     HAVE_VCDX=no
1787   fi
1788 fi
1789
1790 dnl
1791 dnl  Built-in CD-DA and VCD module
1792 dnl
1793 AC_ARG_ENABLE(cdda,           
1794   [  --enable-cdda           audio CD via built-in VCD (default enabled)])
1795  
1796 AC_ARG_ENABLE(vcd,
1797   [  --enable-vcd            built-in VCD (default enabled)])
1798
1799 if test "${enable_vcd}" != "no"
1800 then
1801   AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
1802   AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1803     AC_MSG_RESULT(yes)
1804     VLC_ADD_PLUGINS([vcd cdda])
1805   ],[
1806     AC_MSG_RESULT(no)
1807   ])
1808
1809   AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1810   AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1811     AC_MSG_RESULT(yes)
1812     VLC_ADD_PLUGINS([vcd cdda])
1813     AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1814   ],[
1815     AC_MSG_RESULT(no)
1816   ])
1817
1818   AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1819   AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1820     AC_MSG_RESULT(yes)
1821     VLC_ADD_PLUGINS([vcd cdda])
1822     AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1823   ],[
1824     AC_MSG_RESULT(no)
1825   ])
1826
1827   if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
1828   then
1829     VLC_ADD_PLUGINS([vcd cdda])
1830   fi
1831
1832   if test "${SYS}" = "darwin"
1833   then
1834     VLC_ADD_PLUGINS([vcd cdda])
1835     VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation])
1836     VLC_ADD_LDFLAGS([vcdx cddax],[-liconv])
1837   fi
1838 fi
1839
1840 dnl
1841 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
1842 dnl
1843 AC_ARG_ENABLE(dvb,
1844   [  --enable-dvb            DVB-S/T/C card support (default disabled)])
1845
1846 if test "${enable_dvb}" = "yes"
1847 then
1848   AC_ARG_WITH(dvb,
1849   [    --with-dvb=PATH       path to a dvb- and v4l2-enabled kernel tree],[],[])
1850   if test "${with_dvb}" != "no" -a -n "${with_dvb}"
1851   then
1852     VLC_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
1853   fi
1854   CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
1855   AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
1856     if test -z "${with_dvbpsi_tree}"
1857     then
1858       VLC_ADD_PLUGINS([dvb])
1859     else
1860       VLC_ADD_BUILTINS([dvb])
1861     fi
1862   ],[AC_MSG_WARN(linux-dvb headers not found, dvb disabled)])
1863   CPPFLAGS="${CPPFLAGS_save}"
1864 fi
1865
1866 dnl
1867 dnl  Screen capture module
1868 dnl
1869 AC_ARG_ENABLE(screen,
1870   [  --enable-screen         Screen capture support (default enabled)])
1871 if test "${enable_screen}" != "no"; then
1872   if test "${SYS}" = "darwin"; then
1873     AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
1874       VLC_ADD_PLUGINS([screen])
1875       VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices])
1876     ])
1877   elif test "${SYS}" = "mingw32"; then
1878     VLC_ADD_PLUGINS([screen])
1879     VLC_ADD_LDFLAGS([screen],[-lgdi32])
1880   elif test "${SYS}" = "mingwce"; then
1881     CPPFLAGS="${CPPFLAGS_save}"
1882   elif test "${SYS}" = "beos"; then
1883     VLC_ADD_PLUGINS([screen])
1884     VLC_ADD_CXXFLAGS([screen],[])
1885     VLC_ADD_LDFLAGS([screen],[-lbe])
1886   else
1887     CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
1888     AC_CHECK_HEADERS(X11/Xlib.h, [
1889       VLC_ADD_PLUGINS([screen])
1890       VLC_ADD_LDFLAGS([screen],[-L${x_libraries} -lX11 -lXext])
1891       VLC_ADD_CPPFLAGS([screen],[-I${x_includes}])
1892     ])
1893     CPPFLAGS="${CPPFLAGS_save}"
1894   fi
1895 fi
1896
1897 dnl
1898 dnl  ipv6 plugin - not for QNX yet
1899 dnl
1900 have_ipv6=no
1901 AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[
1902   AC_CHECK_LIB(resolv,inet_pton,
1903     [have_ipv6=yes
1904      VLC_ADD_LDFLAGS([ipv6 vlc],[-lresolv])])
1905 ])
1906
1907 AS_IF([test "${have_ipv6}" == "yes"], [
1908   AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])])
1909
1910 if test "${SYS}" != "nto" &&
1911    test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
1912 then
1913   AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
1914   AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1915     [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no])
1916   AS_IF([test "${have_ipv6}" != "no"], [
1917     VLC_ADD_PLUGINS([ipv6])])
1918 fi
1919 if test "${SYS}" = "mingw32"
1920 then
1921   AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
1922   AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1923     VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)])
1924 fi
1925
1926 dnl
1927 dnl  ogg demux plugin
1928 dnl
1929 AC_ARG_ENABLE(ogg,
1930   [  --enable-ogg            Ogg demux support (default enabled)])
1931 if test "${enable_ogg}" != "no"
1932 then
1933   AC_CHECK_HEADERS(ogg/ogg.h, [
1934     AC_CHECK_LIB( ogg, oggpack_read, [
1935       VLC_ADD_PLUGINS([ogg])
1936       if test "${enable_sout}" != "no"; then
1937         VLC_ADD_PLUGINS([mux_ogg])
1938       fi
1939       VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
1940    ],[])
1941 fi
1942
1943 dnl
1944 dnl  matroska demux plugin
1945 dnl
1946 AC_ARG_ENABLE(mkv,
1947   [  --enable-mkv            Matroska demux support (default enabled)])
1948 if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then
1949   AC_LANG_PUSH(C++)
1950   AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
1951     AC_MSG_CHECKING(for libebml version >= 0.7.3)
1952     AC_EGREP_CPP(yes,
1953       [#include <ebml/EbmlVersion.h>
1954        #ifdef LIBEBML_VERSION
1955        #if LIBEBML_VERSION >= 0x000703
1956        yes
1957        #endif
1958        #endif],
1959       [AC_MSG_RESULT([yes])
1960         AC_CHECK_HEADERS(matroska/KaxVersion.h, [
1961           AC_MSG_CHECKING(for libmatroska version >= 0.7.5)
1962           AC_EGREP_CPP(yes,
1963             [#include <matroska/KaxVersion.h>
1964              #ifdef LIBMATROSKA_VERSION
1965              #if LIBMATROSKA_VERSION >= 0x000705
1966              yes
1967              #endif
1968              #endif],
1969             [AC_MSG_RESULT([yes])
1970               AC_CHECK_HEADERS(matroska/KaxAttachments.h)
1971               VLC_ADD_CXXFLAGS([mkv],[])
1972               if test "${SYS}" = "darwin"; then
1973                 VLC_ADD_CXXFLAGS([mkv],[-O1])
1974               fi
1975               AC_CHECK_LIB(ebml_pic, main, [
1976                 # We have ebml_pic, that's good, we can build an mkv.so plugin !
1977                 VLC_ADD_PLUGINS([mkv])
1978                 VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
1979               ], [
1980                 AC_CHECK_LIB(ebml, main, [
1981                   # We only have libebml, make mkv.a a builtin
1982                   VLC_ADD_BUILTINS([mkv])
1983                   VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
1984                 ])
1985               ])
1986             ],
1987             [AC_MSG_RESULT([no])
1988               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.])
1989           ])
1990         ])
1991       ],
1992       [AC_MSG_RESULT([no])
1993         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.])
1994     ])
1995   ])
1996   AC_LANG_POP(C++)
1997 fi
1998
1999 dnl
2000 dnl  modplug demux plugin
2001 dnl
2002 AC_ARG_ENABLE(mod,
2003   [  --enable-mod            Mod demux support (default enabled)])
2004 if test "${enable_mod}" != "no"
2005 then
2006   AC_CHECK_HEADERS(libmodplug/modplug.h, [
2007     VLC_ADD_PLUGINS([mod])
2008     VLC_ADD_CXXFLAGS([mod],[])
2009     VLC_ADD_LDFLAGS([mod],[-lmodplug])])
2010 fi
2011
2012 dnl
2013 dnl  Codec plugins
2014 dnl
2015
2016 AC_ARG_WITH(,[Codec plugins:])
2017
2018 dnl
2019 dnl  mad plugin
2020 dnl
2021 AC_ARG_ENABLE(mad,
2022   [  --enable-mad            libmad module (default enabled)])
2023 if test "${enable_mad}" != "no"
2024 then
2025   AC_ARG_WITH(mad,
2026     [    --with-mad=PATH       path to libmad],[],[])
2027   if test "${with_mad}" != "no" -a -n "${with_mad}"
2028   then
2029     VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
2030     VLC_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
2031   fi
2032
2033   AC_ARG_WITH(mad-tree,
2034     [    --with-mad-tree=PATH  mad tree for static linking],[],[])
2035   if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
2036   then
2037     real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
2038     if test -z "${real_mad_tree}"
2039     then
2040       dnl  The given directory can't be found
2041       AC_MSG_RESULT(no)
2042       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
2043     fi
2044     dnl  Use a custom libmad
2045     AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
2046     if test -f ${real_mad_tree}/mad.h
2047     then
2048       AC_MSG_RESULT(yes)
2049       VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
2050       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
2051       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2052       AC_CHECK_LIB(mad, mad_bit_init, [
2053         VLC_ADD_BUILTINS([mpgatofixed32])
2054         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
2055         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
2056       ],[])
2057       LDFLAGS="${LDFLAGS_save}"
2058     else
2059       AC_MSG_RESULT(no)
2060       AC_MSG_ERROR([the specified tree doesn't have mad.h])
2061     fi
2062   else
2063     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
2064     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
2065     AC_CHECK_HEADERS(mad.h, ,
2066       [ 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.]) ])
2067     AC_CHECK_LIB(mad, mad_bit_init, [
2068       VLC_ADD_PLUGINS([mpgatofixed32])
2069       VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
2070       [ AC_MSG_ERROR([Cannot find libmad library...]) ])
2071     CPPFLAGS="${CPPFLAGS_save}"
2072     LDFLAGS="${LDFLAGS_save}"
2073   fi
2074 fi
2075
2076 dnl
2077 dnl   libid3tag support (FIXME!!! doesn't work with new input)
2078 dnl
2079 AC_CHECK_HEADERS(id3tag.h, [
2080   AC_CHECK_HEADERS(zlib.h, [
2081     VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
2082     VLC_ADD_PLUGINS([id3tag])]) ])
2083
2084 dnl
2085 dnl  ffmpeg decoder/demuxer plugin
2086 dnl
2087 AC_ARG_ENABLE(ffmpeg,
2088 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
2089 if test "${enable_ffmpeg}" != "no"
2090 then
2091 dnl Look for a ffmpeg-config (we are on debian )
2092  
2093    FFMPEG_PATH="${PATH}"
2094    AC_ARG_WITH(ffmpeg-config-path,
2095      [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
2096      [ if test "${with_ffmpeg_config_path}" != "no"
2097        then
2098          FFMPEG_PATH="${with_ffmpeg_config_path}"
2099        fi ])
2100    AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
2101    if test "${FFMPEG_CONFIG}" != "no"
2102    then
2103      AC_CHECK_HEADERS(ffmpeg/avcodec.h)
2104      AC_CHECK_HEADERS(postproc/postprocess.h)
2105      VLC_ADD_PLUGINS([ffmpeg])
2106      if test "${enable_sout}" != "no"; then
2107          VLC_ADD_PLUGINS([stream_out_switcher])
2108      fi
2109      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
2110      VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
2111   
2112   else
2113     AC_ARG_WITH(ffmpeg-mp3lame,
2114       [    --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support],
2115       [
2116         VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ])
2117
2118     AC_ARG_WITH(ffmpeg-faac,
2119       [    --with-ffmpeg-faac    specify if ffmpeg has been compiled with faac support],
2120       [
2121         VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
2122
2123     AC_ARG_WITH(ffmpeg-dts,
2124       [    --with-ffmpeg-dts     specify if ffmpeg has been compiled with dts support],
2125       [
2126         VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ])
2127
2128     AC_ARG_WITH(ffmpeg-zlib,
2129       [    --with-ffmpeg-zlib    specify if ffmpeg has been compiled with zlib support],
2130       [
2131         VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ])
2132
2133     AC_ARG_WITH(ffmpeg-tree,
2134       [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
2135
2136     dnl
2137     dnl test for !(--with-ffmpeg-tree)
2138     dnl
2139     if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
2140       CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
2141       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
2142       AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
2143       AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
2144
2145       AC_CHECK_LIB(avutil, av_add_i, [
2146         VLC_ADD_LDFLAGS([ffmpeg],[-lavutil])
2147         LDAVUTIL="-lavutil"])
2148
2149       AC_CHECK_LIB(avcodec, avcodec_init, [
2150         VLC_ADD_BUILTINS([ffmpeg])
2151         VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])
2152         if test "${enable_sout}" != "no"; then
2153             VLC_ADD_BUILTINS([stream_out_switcher])
2154         fi],
2155          [ 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])
2156       AC_CHECK_LIB(avformat, av_open_input_stream, [
2157         AC_DEFINE(HAVE_LIBAVFORMAT, 1,
2158         [Define if you have ffmpeg's libavformat.])
2159         VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL])
2160       LDFLAGS="${LDFLAGS_save}"
2161       CPPFLAGS="${CPPFLAGS_save}"
2162     fi
2163
2164     dnl
2165     dnl test for --with-ffmpeg-tree
2166     dnl
2167     if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2168       AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
2169       real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2170       if test -z "${real_ffmpeg_tree}"; then
2171         dnl  The given directory can't be found
2172         AC_MSG_RESULT(no)
2173         AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2174       fi
2175       if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2176         dnl  The given libavcodec wasn't built
2177         AC_MSG_RESULT(no)
2178         AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
2179       fi
2180       if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
2181         dnl  The given libavcodec wasn't built with --enable-pp
2182         AC_MSG_RESULT(no)
2183         AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2184       fi
2185       dnl  Use a custom libffmpeg
2186       AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
2187
2188       if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then
2189         if test "${with_ffmpeg_zlib}" != "yes"; then
2190           VLC_ADD_LDFLAGS([ffmpeg],[-lz])
2191         fi
2192       fi
2193       if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then
2194         if test "${with_ffmpeg_mp3lame}" != "yes"; then
2195           VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame])
2196         fi
2197       fi
2198       if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then
2199         if test "${with_ffmpeg_faac}" != "yes"; then
2200           VLC_ADD_LDFLAGS([ffmpeg],[-lfaac])
2201         fi
2202       fi
2203       if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then
2204         if test "${with_ffmpeg_dts}" != "yes"; then
2205           VLC_ADD_LDFLAGS([ffmpeg],[-ldts])
2206         fi
2207       fi
2208       if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then
2209         VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc])
2210       fi
2211       if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then
2212         VLC_ADD_LDFLAGS([ffmpeg],[-lfaad])
2213       fi
2214       if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then
2215         VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore])
2216       fi
2217
2218       VLC_ADD_BUILTINS([ffmpeg])
2219       if test "${enable_sout}" != "no"; then
2220         VLC_ADD_BUILTINS([stream_out_switcher])
2221       fi
2222
2223       if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then
2224         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a])
2225         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil])
2226       fi
2227
2228       VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a])
2229       VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec])
2230
2231       if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2232         AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2233         VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a])
2234         VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat])
2235       fi
2236     fi
2237   fi
2238 fi
2239
2240 dnl
2241 dnl  ffmpeg decoder/demuxer plugin
2242 dnl
2243 AC_ARG_ENABLE(ffmpegaltivec,
2244 [  --enable-ffmpegaltivec  ffmpegaltivec codec (DO NOT USE)])
2245 if test "${enable_ffmpegaltivec}" == "yes"
2246 then
2247   if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
2248     AC_MSG_CHECKING(for libavcodecaltivec.a in ${with_ffmpeg_tree})
2249     real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
2250     if test -z "${real_ffmpeg_tree}"; then
2251       dnl  The given directory can't be found
2252       AC_MSG_RESULT(no)
2253       AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
2254     fi
2255     if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2256       dnl  The given libavcodecaltivec wasn't built
2257       AC_MSG_RESULT(no)
2258       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}])
2259     fi
2260     if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then
2261       dnl  The given libavcodecaltivec wasn't built with --enable-pp
2262       AC_MSG_RESULT(no)
2263       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
2264     fi
2265     dnl  Use a custom libffmpeg
2266     AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a)
2267     VLC_ADD_BUILTINS([ffmpegaltivec])
2268     VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavcodec -lavcodecaltivec])
2269     VLC_ADD_CPPFLAGS([ffmpeg],[-DNO_ALTIVEC_IN_FFMPEG])
2270     VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2271
2272     if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
2273       AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
2274       VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz])
2275       VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat])
2276     fi
2277     VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec])
2278     VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
2279   fi
2280 fi
2281
2282 dnl
2283 dnl  faad decoder plugin
2284 dnl
2285 AC_ARG_ENABLE(faad,
2286 [  --enable-faad           faad codec (default disabled)])
2287 if test "${enable_faad}" = "yes"
2288 then
2289   AC_ARG_WITH(faad-tree,
2290   [    --with-faad-tree=PATH faad tree for static linking])
2291   if test -n "${with_faad_tree}"
2292   then
2293     AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
2294     real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
2295     if test -z "${real_faad_tree}"
2296     then
2297       dnl  The given directory can't be found
2298       AC_MSG_RESULT(no)
2299       AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
2300     fi
2301     if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
2302     then
2303       dnl  Use a custom faad
2304       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
2305       VLC_ADD_BUILTINS([faad])
2306       VLC_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
2307       VLC_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
2308     else
2309       dnl  The given libfaad wasn't built
2310       AC_MSG_RESULT(no)
2311       AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
2312     fi
2313   else
2314     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
2315     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
2316     AC_CHECK_HEADERS(faad.h, ,
2317       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
2318     AC_CHECK_LIB(faad, faacDecOpen, [
2319       VLC_ADD_PLUGINS([faad])
2320       VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2321       AC_CHECK_LIB(faad, NeAACDecOpen, [
2322         VLC_ADD_PLUGINS([faad])
2323         VLC_ADD_LDFLAGS([faad],[-lfaad]) ],
2324         [ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
2325     LDFLAGS="${LDFLAGS_save}"
2326     CPPFLAGS="${CPPFLAGS_save}"
2327   fi
2328 fi
2329
2330 dnl
2331 dnl twolame encoder plugin
2332 dnl
2333 AC_ARG_ENABLE(twolame,
2334 [  --enable-twolame        twolame codec (default disabled)])
2335 if test "${enable_twolame}" = "yes"
2336 then
2337   AC_ARG_WITH(twolame-tree,
2338   [    --with-twolame-tree=PATH twolame tree for static linking])
2339   if test -n "${with_twolame_tree}"
2340   then
2341     AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree})
2342     real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`"
2343     if test -z "${real_twolame_tree}"
2344     then
2345       dnl  The given directory can't be found
2346       AC_MSG_RESULT(no)
2347       AC_MSG_ERROR([cannot cd to ${with_twolame_tree}])
2348     fi
2349     if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a"
2350     then
2351       dnl  Use a custom twolame
2352       AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a)
2353       VLC_ADD_BUILTINS([twolame])
2354       VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a])
2355       VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame])
2356     else
2357       dnl  The given libtwolame wasn't built
2358       AC_MSG_RESULT(no)
2359       AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}])
2360     fi
2361   else
2362     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}"
2363     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}"
2364     AC_CHECK_HEADERS(twolame.h, ,
2365       [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ])
2366     AC_CHECK_LIB(twolame, twolame_init, [
2367       VLC_ADD_PLUGINS([twolame])
2368       VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ],
2369         [ AC_MSG_ERROR([Cannot find libtwolame library...]) ])
2370     LDFLAGS="${LDFLAGS_save}"  
2371     CPPFLAGS="${CPPFLAGS_save}"
2372   fi
2373 fi
2374
2375 dnl
2376 dnl  QuickTime plugin
2377 dnl
2378 AC_ARG_ENABLE(quicktime,
2379   [  --enable-quicktime      QuickTime module (default enabled on MacOS X)])
2380 if test "${enable_quicktime}" != "no" &&
2381   (test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
2382 then
2383   if test "${SYS}" = "mingw32"; then
2384     VLC_ADD_BUILTINS([quicktime])
2385   else
2386   AC_CHECK_HEADERS(QuickTime/QuickTime.h,
2387     [ VLC_ADD_BUILTINS([quicktime])
2388       VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
2389     ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ])
2390   fi
2391 fi
2392
2393 dnl
2394 dnl MP4 module
2395 dnl
2396 AC_CHECK_HEADERS(zlib.h, [
2397   VLC_ADD_LDFLAGS([mp4 skins2 sap mkv],[-lz])
2398 ] )
2399
2400 AC_CHECK_HEADERS(sysfs/libsysfs.h, [
2401   VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs])
2402 ] )
2403
2404 dnl
2405 dnl skins2 module
2406 dnl
2407 AC_CHECK_HEADERS(libtar.h, [
2408   VLC_ADD_LDFLAGS([skins2],[-ltar])
2409 ] )
2410
2411
2412
2413 dnl
2414 dnl A52/AC3 decoder plugin
2415 dnl
2416 AC_ARG_ENABLE(a52,
2417   [  --enable-a52            A/52 support with liba52 (default enabled)])
2418 if test "${enable_a52}" != "no"
2419 then
2420   AC_ARG_WITH(a52,
2421     [    --with-a52=PATH       a52 headers and libraries])
2422   AC_ARG_WITH(a52-tree,
2423     [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
2424   if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
2425   then
2426     real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
2427     if test -z "${real_a52_tree}"
2428     then
2429       dnl  The given directory can't be found
2430       AC_MSG_RESULT(no)
2431       AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
2432     fi
2433     dnl  Use a custom a52dec
2434     AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
2435     if test -f ${real_a52_tree}/include/a52.h
2436     then
2437       AC_MSG_RESULT(yes)
2438       VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
2439       VLC_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
2440       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
2441       AC_CHECK_LIB(a52, a52_free, [
2442         VLC_ADD_BUILTINS([a52tofloat32])
2443         VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
2444         VLC_ADD_LDFLAGS([a52tofloat32],[-la52])
2445         ],[
2446         if test -f ${real_a52_tree}/liba52/.libs/liba52.a
2447         then
2448           AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
2449         else
2450           AC_MSG_ERROR([the specified tree hasn't been compiled])
2451         fi
2452       ])
2453       LDFLAGS="${LDFLAGS_save}"
2454     else
2455       AC_MSG_RESULT(no)
2456       AC_MSG_ERROR([the specified tree doesn't have a52.h])
2457     fi
2458   else
2459     if test -z "${with_a52}"
2460     then
2461       LDFLAGS_test=""
2462       CPPFLAGS_test=""
2463     else
2464       LDFLAGS_test="-L${with_a52}/lib"
2465       CPPFLAGS_test="-I${with_a52}/include"
2466     fi
2467     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
2468     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
2469     AC_CHECK_HEADERS(a52dec/a52.h, [
2470       AC_CHECK_LIB(a52, a52_free, [
2471         VLC_ADD_PLUGINS([a52tofloat32])
2472         VLC_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
2473         VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
2474       ],[
2475         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.])
2476       ])
2477     ])
2478     CPPFLAGS="${CPPFLAGS_save}"
2479     LDFLAGS="${LDFLAGS_save}"
2480   fi
2481 fi
2482
2483 AC_ARG_WITH(a52-fixed,
2484       [    --with-a52-fixed      specify if liba52 has been compiled with fixed point support],
2485       [
2486         VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ])
2487
2488 dnl
2489 dnl DTS Coherent Acoustics decoder plugin
2490 dnl
2491 AC_ARG_ENABLE(dts,
2492   [  --enable-dts            DTS Coherent Acoustics support with libdts (default enabled)])
2493 if test "${enable_dts}" != "no"; then
2494   AC_ARG_WITH(dts-tree,
2495     [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
2496   if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
2497   then
2498     real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
2499     if test -z "${real_dts_tree}"
2500     then
2501       dnl  The given directory can't be found
2502       AC_MSG_RESULT(no)
2503       AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
2504     fi
2505     dnl  Use a custom libdts
2506     AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
2507     if test -f ${real_dts_tree}/include/dts.h
2508     then
2509       AC_MSG_RESULT(yes)
2510       VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
2511       VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
2512       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2513       AC_CHECK_LIB(dts_pic, dts_free, [
2514         VLC_ADD_PLUGINS([dtstofloat32])
2515         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2516         ],[
2517         AC_CHECK_LIB(dts, dts_free, [
2518           VLC_ADD_BUILTINS([dtstofloat32])
2519           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2520           ],[
2521           if test -f ${real_dts_tree}/libdts/libdts.a
2522           then
2523             AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
2524           else
2525             AC_MSG_ERROR([the specified tree hasn't been compiled])
2526           fi
2527         ])
2528       ])
2529       LDFLAGS="${LDFLAGS_save}"
2530     else
2531       AC_MSG_RESULT(no)
2532       AC_MSG_ERROR([the specified tree doesn't have dts.h])
2533     fi
2534   else
2535     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
2536     AC_CHECK_HEADERS(dts.h, [
2537       AC_CHECK_LIB(dts_pic, dts_free, [
2538         VLC_ADD_PLUGINS([dtstofloat32])
2539         VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
2540       ],[
2541         AC_CHECK_LIB(dts, dts_free, [
2542           VLC_ADD_BUILTINS([dtstofloat32])
2543           VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
2544         ],[
2545           if test "${enable_dts}" = "yes"; then
2546             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
2547           fi
2548         ])
2549       ])
2550     ])
2551     LDFLAGS="${LDFLAGS_save}"
2552   fi
2553 fi
2554
2555 dnl
2556 dnl  Flac plugin
2557 dnl
2558 AC_ARG_ENABLE(flac,
2559   [  --enable-flac           flac decoder support (default disabled)])
2560 if test "${enable_flac}" = "yes"
2561 then
2562   AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
2563     VLC_ADD_LDFLAGS([flacdec],[-lFLAC])
2564    ],[])
2565 fi
2566
2567 dnl
2568 dnl  Libmpeg2 plugin
2569 dnl
2570 AC_ARG_ENABLE(libmpeg2,
2571   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
2572 if test "${enable_libmpeg2}" != "no"
2573 then
2574   AC_ARG_WITH(libmpeg2-tree,
2575   [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
2576   if test -n "${with_libmpeg2_tree}"
2577   then
2578     AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
2579     real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
2580     if test -z "${real_libmpeg2_tree}"
2581     then
2582       dnl  The given directory can't be found
2583       AC_MSG_RESULT(no)
2584       AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
2585     fi
2586     if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
2587     then
2588       dnl  Use a custom libmpeg2
2589       AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
2590       VLC_ADD_BUILTINS([libmpeg2])
2591       VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2])
2592       VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include])
2593       eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
2594     else
2595       dnl  The given libmpeg2 wasn't built
2596       AC_MSG_RESULT(no)
2597       AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
2598     fi
2599   else
2600     AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
2601       AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
2602       AC_EGREP_CPP(yes,
2603         [#include <mpeg2dec/mpeg2.h>
2604          #ifdef MPEG2_RELEASE
2605          #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
2606          yes
2607          #endif
2608          #endif],
2609         [AC_MSG_RESULT([yes])
2610           VLC_ADD_PLUGINS([libmpeg2])
2611           VLC_ADD_LDFLAGS([libmpeg2],[-lmpeg2])],
2612         [AC_MSG_RESULT([no])
2613           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.])])],
2614
2615       [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.])]
2616     )
2617   fi
2618 fi
2619
2620 dnl
2621 dnl  Vorbis plugin
2622 dnl
2623 AC_ARG_ENABLE(vorbis,
2624   [  --enable-vorbis         Vorbis decoder support (default enabled)])
2625 if test "${enable_vorbis}" != "no"
2626 then
2627   AC_CHECK_HEADERS(vorbis/codec.h, [
2628     VLC_ADD_PLUGINS([vorbis])
2629     VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[])
2630
2631   AC_CHECK_HEADERS(vorbis/vorbisenc.h, [
2632     VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[])
2633 fi
2634
2635 dnl
2636 dnl  Tremor plugin
2637 dnl
2638 AC_ARG_ENABLE(tremor,
2639   [  --enable-tremor         Tremor decoder support (default disabled)])
2640 if test "${enable_tremor}" = "yes"
2641 then
2642   AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
2643     VLC_ADD_PLUGINS([tremor])
2644     VLC_ADD_LDFLAGS([tremor],[-lvorbisidec -logg])
2645    ],[])
2646 fi
2647
2648 dnl
2649 dnl  Speex plugin
2650 dnl
2651 AC_ARG_ENABLE(speex,
2652   [  --enable-speex          Speex decoder support (default enabled)])
2653 if test "${enable_speex}" != "no"
2654 then
2655   AC_CHECK_HEADERS(speex/speex.h, [
2656     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}"
2657     AC_CHECK_LIB(speex, speex_decode_int, [
2658       VLC_ADD_PLUGINS([speex])
2659       VLC_ADD_LDFLAGS([speex],[-lspeex]) ],
2660       [ AC_MSG_RESULT([no])
2661         AC_MSG_WARN([Your libspeex is too old, please get the development
2662                      version.]) ],[])
2663     LDFLAGS="${LDFLAGS_save}"
2664     ],[])
2665 fi
2666
2667 dnl
2668 dnl  tarkin decoder plugin
2669 dnl
2670 AC_ARG_ENABLE(tarkin,
2671 [  --enable-tarkin         experimental tarkin codec (default disabled)])
2672 if test "${enable_tarkin}" = "yes"
2673 then
2674   AC_ARG_WITH(tarkin-tree,
2675   [    --with-tarkin-tree=PATH tarkin tree for static linking])
2676   if test -n "${with_tarkin_tree}"
2677   then
2678     AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
2679     real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
2680     if test -f "${real_tarkin_tree}/tarkin.o"
2681     then
2682       VLC_ADD_BUILTINS([tarkin])
2683       VLC_ADD_CPPFLAGS([tarkin],[-I${real_tarkin_tree}])
2684       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])
2685       AC_MSG_RESULT(yes)
2686     else
2687       dnl  The given tarkin tree wasn't built
2688       AC_MSG_RESULT(no)
2689       AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
2690                     make sure you compiled tarkin in ${with_tarkin_tree}])
2691     fi
2692   fi
2693 fi
2694
2695 dnl
2696 dnl  theora decoder plugin
2697 dnl
2698 AC_ARG_ENABLE(theora,
2699 [  --enable-theora         experimental theora codec (default disabled)])
2700 if test "${enable_theora}" = "yes"
2701 then
2702   AC_CHECK_HEADERS(theora/theora.h, [
2703     AC_CHECK_LIB(theora, theora_granule_time, [
2704       if test "${SYS}" = "mingw32"; then
2705         VLC_ADD_PLUGINS([theora])
2706       else
2707         VLC_ADD_BUILTINS([theora])
2708       fi
2709       theora_libs="-ltheora -logg"
2710       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
2711       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
2712 You also need to check that you have a libogg posterior to the 1.0 release.])],
2713       [-logg])
2714   ])
2715 fi
2716
2717 dnl
2718 dnl  dirac decoder plugin
2719 dnl
2720 AC_ARG_ENABLE(dirac,
2721 [  --enable-dirac          experimental dirac codec (default disabled)])
2722 if test "${enable_dirac}" = "yes"; then
2723   AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [
2724     AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [
2725       VLC_ADD_PLUGINS([dirac])
2726       VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[
2727       AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])],
2728       [-lstdc++])
2729   ])
2730 fi
2731
2732 dnl
2733 dnl  PNG decoder module
2734 dnl
2735 AC_ARG_ENABLE(png,
2736   [  --enable-png            PNG support (default enabled)])
2737 if test "${enable_png}" != "no"; then
2738 AC_CHECK_HEADERS(png.h, [
2739   LDFLAGS="${LDFLAGS_save} -lz"
2740   AC_CHECK_LIB(png, png_set_rows, [
2741     VLC_ADD_LDFLAGS([png],[-lpng -lz])
2742     VLC_ADD_PLUGINS([png])
2743     VLC_ADD_PLUGINS([osdmenu])
2744     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
2745     [],[-lz])
2746   LDFLAGS="${LDFLAGS_save}"
2747   ])
2748 fi
2749
2750 dnl
2751 dnl H264 encoder plugin (using libx264)
2752 dnl
2753 AC_ARG_ENABLE(x264,
2754   [  --enable-x264           H264 encoding support with libx264 (default enabled)])
2755 if test "${enable_x264}" != "no"; then
2756   AC_ARG_WITH(x264-tree,
2757     [    --with-x264-tree=PATH x264 tree for static linking ],[],[])
2758   if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}"
2759   then
2760     real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`"
2761     if test -z "${real_x264_tree}"
2762     then
2763       dnl  The given directory can't be found
2764       AC_MSG_RESULT(no)
2765       AC_MSG_ERROR([${with_x264_tree} directory doesn't exist])
2766     fi
2767     dnl  Use a custom libx264
2768     AC_MSG_CHECKING(for x264.h in ${real_x264_tree})
2769     if test -f ${real_x264_tree}/x264.h
2770     then
2771       AC_MSG_RESULT(yes)
2772       VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}])
2773       VLC_ADD_LDFLAGS([x264],[-L${real_x264_tree}])
2774       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2775       AC_CHECK_LIB(x264, x264_encoder_open, [
2776         VLC_ADD_BUILTINS([x264])
2777         VLC_ADD_LDFLAGS([x264],[-lx264])
2778       ],[
2779         AC_MSG_ERROR([the specified tree hasn't been compiled])
2780       ])
2781       LDFLAGS="${LDFLAGS_save}"
2782     else
2783       AC_MSG_RESULT(no)
2784       AC_MSG_ERROR([the specified tree doesn't have x264.h])
2785     fi
2786   else
2787     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264}"
2788     AC_CHECK_HEADERS(x264.h, [
2789       AC_CHECK_LIB(x264, x264_encoder_open, [
2790         VLC_ADD_PLUGINS([x264])
2791         VLC_ADD_LDFLAGS([x264],[-lx264])
2792       ],[
2793         if test "${enable_x264}" = "yes"; then
2794             AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html])
2795           fi
2796       ])
2797     ])
2798     LDFLAGS="${LDFLAGS_save}"
2799   fi
2800 fi
2801
2802 dnl
2803 dnl  CMML plugin
2804 dnl
2805 AC_ARG_ENABLE(cmml,
2806   [  --enable-cmml           CMML support (default enabled)])
2807 if test "${enable_cmml}" != "no"
2808 then
2809   VLC_ADD_PLUGINS([cmml])
2810 fi
2811
2812
2813 dnl
2814 dnl  Video plugins
2815 dnl
2816
2817 AC_ARG_WITH(,[Video plugins:])
2818
2819 dnl Check for DPMS
2820 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
2821   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2822   AC_CHECK_HEADERS(X11/extensions/dpms.h, [
2823     AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
2824     AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
2825       AC_MSG_RESULT(yes)
2826       AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
2827                 Define if <X11/extensions/dpms.h> defines DPMSInfo.)
2828     ],[
2829       AC_MSG_RESULT(no)
2830     ])
2831   ],,[
2832     #include <X11/Xlib.h>
2833   ])
2834   CPPFLAGS="${CPPFLAGS_save}"
2835 fi
2836
2837 dnl
2838 dnl  X11 module
2839 dnl  (enabled by default except on win32)
2840 dnl
2841 AC_ARG_ENABLE(x11,
2842   [  --enable-x11            X11 support (default enabled)])
2843 if test "${enable_x11}" != "no" &&
2844   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2845    test "${enable_x11}" = "yes"); then
2846   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2847   AC_CHECK_HEADERS(X11/Xlib.h, [
2848     VLC_ADD_PLUGINS([x11])
2849     VLC_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
2850     VLC_ADD_CPPFLAGS([x11],[-I${x_includes}])
2851   ])
2852   CPPFLAGS="${CPPFLAGS_save}"
2853 fi
2854
2855 dnl
2856 dnl  XVideo module
2857 dnl  (enabled by default except on win32)
2858 dnl
2859 AC_ARG_ENABLE(xvideo,
2860   [  --enable-xvideo         XVideo support (default enabled)])
2861 if test "${enable_xvideo}" != "no" &&
2862   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2863    test "${enable_xvideo}" = "yes"); then
2864   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2865   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
2866     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2867     AC_CHECK_LIB(Xv,XvPutImage,[
2868       # If libXv.so is available, xvideo can be a plugin. Otherwise, we
2869       # test for libXv_pic.
2870       if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
2871         VLC_ADD_PLUGINS([xvideo])
2872         VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2873         VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2874       else
2875         AC_CHECK_LIB(Xv_pic,XvPutImage,[
2876           VLC_ADD_PLUGINS([xvideo])
2877           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2878           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
2879         ],[
2880           VLC_ADD_BUILTINS([xvideo])
2881           VLC_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
2882           VLC_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
2883         ])
2884       fi
2885     ])
2886     CFLAGS="${CFLAGS_save}"
2887   ]
2888   CPPFLAGS="${CPPFLAGS_save}")
2889 fi
2890
2891 dnl
2892 dnl  GLX module
2893 dnl  (enabled by default except on win32)
2894 dnl
2895 AC_ARG_ENABLE(glx,
2896   [  --enable-glx            X11 OpenGL (GLX) support (default enabled)])
2897 if test "${enable_glx}" != "no" &&
2898   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2899    test "${enable_glx}" = "yes"); then
2900   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2901   AC_CHECK_HEADERS(X11/Xlib.h, [
2902     AC_CHECK_HEADERS(GL/glx.h, [
2903       VLC_ADD_PLUGINS([glx])
2904       VLC_ADD_LDFLAGS([glx],[-L${x_libraries} -lX11 -lXext -lGL -lGLU])
2905       VLC_ADD_CPPFLAGS([glx],[-I${x_includes}])
2906   ]) ])
2907   CPPFLAGS="${CPPFLAGS_save}"
2908 fi
2909
2910 dnl
2911 dnl  Check for the Xinerama extension
2912 dnl
2913 if test "${enable_xvideo}" != "no" &&
2914   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
2915    test "${enable_xvideo}" = "yes"); then
2916   ac_cv_have_xinerama="no"
2917   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
2918   CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
2919   AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
2920     AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
2921       VLC_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
2922       VLC_ADD_LDFLAGS([x11],[-lXinerama_pic])
2923       VLC_ADD_LDFLAGS([glx],[-lXinerama_pic])
2924       ac_cv_have_xinerama="yes"
2925     ],[
2926       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
2927         VLC_ADD_LDFLAGS([xvideo],[-lXinerama])
2928         VLC_ADD_LDFLAGS([x11],[-lXinerama])
2929         VLC_ADD_LDFLAGS([glx],[-lXinerama])
2930         ac_cv_have_xinerama="yes"
2931       ])
2932     ])
2933   ])
2934   if test "${ac_cv_have_xinerama}" = "yes"; then
2935     AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
2936   fi
2937   CFLAGS="${CFLAGS_save}"
2938   CPPFLAGS="${CPPFLAGS_save}"
2939 fi
2940
2941 dnl
2942 dnl  OpenGL module
2943 dnl  (enabled by default except on beos)
2944 dnl
2945 AC_ARG_ENABLE(opengl,
2946   [  --enable-opengl         OpenGL support (default enabled)])
2947 if test "${enable_opengl}" != "no" &&
2948    test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then
2949   if test "${SYS}" != "darwin"; then
2950     AC_CHECK_HEADERS(GL/gl.h, [
2951       VLC_ADD_PLUGINS([opengl])
2952       if test "${SYS}" != "mingw32"; then
2953         VLC_ADD_LDFLAGS([opengl],[-L${x_libraries} -lGL -lGLU])
2954       else
2955         VLC_ADD_LDFLAGS([opengl],[-lopengl32])
2956       fi
2957     ])
2958   else
2959     dnl OS X special case (no GL/gl.h but OpenGL/gl.h)
2960     VLC_ADD_PLUGINS([opengl])
2961     VLC_ADD_LDFLAGS([opengl],[-framework OpenGL])
2962   fi
2963 fi
2964
2965 dnl
2966 dnl  SDL module
2967 dnl
2968 AC_ARG_ENABLE(sdl,
2969   [  --enable-sdl            SDL support (default enabled)])
2970 if test "${enable_sdl}" != "no"
2971 then
2972   SDL_PATH="${PATH}"
2973   AC_ARG_WITH(sdl-config-path,
2974     [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
2975     [ if test "${with_sdl_config_path}" != "no"
2976       then
2977         SDL_PATH="${with_sdl_config_path}:${PATH}"
2978       fi ])
2979   AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
2980   SDL_CONFIG="${SDL12_CONFIG}"
2981   SDL_HEADER="SDL12/SDL.h"
2982   SDL_IMAGE="SDL12/SDL_image.h"
2983   if test "${SDL_CONFIG}" = "no"
2984   then
2985     AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
2986     SDL_CONFIG=${SDL11_CONFIG}
2987     SDL_HEADER="SDL11/SDL.h"
2988     SDL_IMAGE="SDL11/SDL_image.h"
2989   fi
2990   if test "${SDL_CONFIG}" = "no"
2991   then
2992     AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
2993     SDL_HEADER="SDL/SDL.h"
2994     SDL_IMAGE="SDL/SDL_image.h"
2995   fi
2996   # check for cross-compiling
2997   SDL_PREFIX=
2998   AC_ARG_WITH(sdl-prefix,
2999     [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
3000                                e.g use as:
3001                                --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
3002   if test "${with_sdl_prefix}" != "no" -a -n "${with_sdl_prefix}"
3003   then
3004     SDL_PREFIX="--prefix=${with_sdl_prefix}"
3005   fi
3006   if test "${SDL_CONFIG}" != "no"
3007   then
3008     # SDL on Darwin is heavily patched and can only run SDL_image
3009     if test "${SYS}" != "darwin" -a "${SYS}" != "mingw32"; then
3010       VLC_ADD_PLUGINS([vout_sdl aout_sdl])
3011     fi
3012     VLC_ADD_CFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`])
3013     VLC_ADD_LDFLAGS([vout_sdl aout_sdl sdl_image],[`${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`])
3014     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
3015     AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
3016       <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
3017       [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
3018           As a last resort we also test for SDL.h presence),
3019       [ AC_MSG_ERROR([The development package for SDL is not installed.
3020 Please install it and try again. Alternatively you can also configure with
3021 --disable-sdl.])
3022       ])])
3023     AC_CHECK_HEADERS(${SDL_IMAGE}, [AC_DEFINE_UNQUOTED(SDL_IMAGE_INCLUDE_FILE,
3024       <${SDL_IMAGE}>, Indicate the path of SDL_image.h)
3025       VLC_ADD_PLUGINS([sdl_image])
3026       AC_CHECK_LIB(png, png_set_rows,
3027         [VLC_ADD_LDFLAGS([sdl_image],[-lpng -lz])],[],[-lz])
3028       AC_CHECK_LIB(jpeg, jpeg_start_decompress,
3029         [VLC_ADD_LDFLAGS([sdl_image],[-ljpeg])])
3030       AC_CHECK_LIB(tiff, TIFFClientOpen,
3031         [VLC_ADD_LDFLAGS([sdl_image],[-ltiff])])
3032       VLC_ADD_LDFLAGS([sdl_image], [-lSDL_image])],
3033       [ AC_CHECK_HEADERS(SDL_image.h, AC_DEFINE(SDL_IMAGE_INCLUDE_FILE, <SDL_image.h>,
3034           As a last resort we also test for SDL_image.h presence),
3035       [ AC_MSG_WARN([The development package for SDL_image is not installed.
3036 You should install it alongside your SDL package.])
3037       ])])
3038     CPPFLAGS="${CPPFLAGS_save}"
3039     if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
3040     then
3041       AC_MSG_ERROR([The development package for SDL is not installed.
3042 Please install it and try again. Alternatively you can also configure with
3043 --disable-sdl.])
3044     fi
3045
3046   elif test "${enable_sdl}" =  "yes"
3047   then
3048     AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
3049 from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
3050     ])
3051   fi
3052 fi
3053
3054 dnl
3055 dnl  freetype module
3056 dnl
3057 AC_ARG_ENABLE(freetype,
3058   [  --enable-freetype       freetype support (default enabled)])
3059 AC_ARG_ENABLE(fribidi,
3060   [  --enable-fribidi        fribidi support (default enabled)])
3061 if test "${enable_freetype}" != "no"
3062 then
3063   FREETYPE_PATH="${PATH}"
3064   AC_ARG_WITH(freetype-config-path,
3065     [    --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)],
3066     [ if test "${with_freetype_config_path}" != "no"
3067       then
3068         FREETYPE_PATH="${with_freetype_config_path}:${PATH}"
3069       fi ])
3070   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH})
3071
3072   if test "${FREETYPE_CONFIG}" != "no"
3073   then
3074     VLC_ADD_PLUGINS([freetype])
3075     VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`])
3076     VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`])
3077     AC_CHECK_HEADERS(Carbon/Carbon.h,
3078       [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])])
3079   elif test "${enable_freetype}" =  "yes"
3080   then
3081     AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
3082 from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day.
3083     ])
3084   fi
3085
3086   dnl fribidi support
3087   if test "${enable_fribidi}" != "no"
3088   then
3089     FRIBIDI_PATH="${PATH}"
3090     AC_ARG_WITH(fribidi-config-path,
3091       [    --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)],
3092       [ if test "${with_fribidi_config_path}" != "no"
3093         then
3094           FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}"
3095         fi ])
3096     AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH})
3097
3098     if test "${FRIBIDI_CONFIG}" != "no"
3099     then
3100       VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3101       VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI])
3102       VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`])
3103       VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`])
3104     fi
3105   fi
3106 fi
3107
3108 dnl
3109 dnl  libxml2 module
3110 dnl
3111 AC_ARG_ENABLE(libxml2,
3112   [  --enable-libxml2        libxml2 support (default enabled)])
3113 if test "${enable_libxml2}" != "no"
3114 then
3115   XML2_PATH="${PATH}"
3116   AC_ARG_WITH(xml2-config-path,
3117     [    --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)],
3118     [ if test "${with_xml2_config_path}" != "no"; then
3119         XML2_PATH="${with_xml2_config_path}:${PATH}"
3120       fi ])
3121   AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH})
3122   if test "${XML2_CONFIG}" != "no"; then
3123     VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`])
3124     VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`])
3125     dnl depends on the xmlTextReader extension
3126     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}"
3127     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}"
3128     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[
3129       AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[
3130         VLC_ADD_PLUGINS([xml]) ],[
3131           AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3132           if test "${enable_xml2}" = "yes"; then
3133             AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3134           fi])
3135        ],[
3136       AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
3137       if test "${enable_xml2}" = "yes"; then
3138         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension])
3139       fi])
3140     LDFLAGS="${LDFLAGS_save}"
3141     CPPFLAGS="${CPPFLAGS_save}"
3142   else
3143     if test "${enable_xml2}" = "yes"; then
3144       AC_MSG_ERROR([Could not find libxml2])
3145     fi
3146   fi
3147 fi
3148
3149 dnl
3150 dnl  SVG module
3151 dnl
3152 AC_ARG_ENABLE(svg,
3153   [  --enable-svg            SVG support (default disabled)])
3154 if test "${enable_svg}" == "yes"
3155 then
3156   PKG_CHECK_MODULES(SVG, 
3157         librsvg-2.0 >= 2.5.0,
3158         [
3159           VLC_ADD_LDFLAGS([svg],[$SVG_LIBS])
3160           VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS])
3161           VLC_ADD_PLUGINS([svg]) ],
3162         [AC_MSG_WARN(SVG library not found)])
3163 fi
3164
3165 dnl
3166 dnl  Qt Embedded module
3167 dnl  (disabled by default)
3168 dnl
3169 AC_ARG_ENABLE(qte,
3170   [  --enable-qte            QT Embedded support (default disabled)])
3171 if test "${enable_qte}" = "yes"
3172 then
3173   AC_ARG_WITH(qte,
3174   [    --with-qte=PATH       Qt Embedded headers and libraries])
3175   if test "${with_qte}" != "no" -a -n "${with_qte}"
3176   then
3177     VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3178     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])
3179   else
3180     VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3181     VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
3182   fi
3183   VLC_ADD_PLUGINS([qte])
3184   NEED_QTE_MAIN=yes
3185   CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3186   AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3187     AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3188   ] )
3189   CPPFLAGS="${CPPFLAGS_save}"
3190 fi
3191
3192 dnl
3193 dnl  Qt Video output module
3194 dnl  (disabled by default)
3195 dnl
3196 dnl AC_ARG_ENABLE(qt_video,
3197 dnl   [  --enable-qt_video            QT Video Output support (default disabled)])
3198 dnl if test "${enable_qt_video}" = "yes"
3199 dnl then
3200 dnl  VLC_ADD_PLUGINS([qt_video])
3201 dnl  VLC_ADD_LDFLAGS([qt_video],[-L${QTDIR}/lib])
3202 dnl  LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}"
3203 dnl   AC_CHECK_LIB(qt-mt,main,[
3204 dnl    VLC_ADD_LDFLAGS([qt_video],[-lqt-mt])
3205 dnl  ],[
3206 dnl    AC_CHECK_LIB(qt,main,[
3207 dnl      VLC_ADD_LDFLAGS([qt_video],[-lqt])
3208 dnl    ])
3209 dnl  ])
3210 dnl  NEED_QTE_MAIN=yes
3211 dnl  LDFLAGS="${LDFLAGS_save}"
3212 dnl  VLC_ADD_CXXFLAGS([qt_video],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3213 dnl fi
3214
3215 dnl
3216 dnl Roku HD1000 Video output module
3217 dnl
3218 AC_ARG_ENABLE(hd1000v,
3219   [  --enable-hd1000v        HD1000 Video Output module (default enabled on HD1000)])
3220 if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" &&
3221   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3222    test "${enable_hd1000v}" = "yes"); then
3223   AC_LANG_PUSH([C++])
3224   AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h],
3225   [
3226     can_build_roku="yes"
3227   ],
3228   [
3229     can_build_roku="no"
3230     AC_MSG_WARN([Not building Roku HD1000 compatible video output])
3231   ])
3232   if test "$can_build_roku" = "yes"
3233   then
3234     VLC_ADD_PLUGINS([hd1000v])
3235     VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad])
3236   fi
3237   AC_LANG_POP([C++])
3238 fi
3239
3240 dnl
3241 dnl  Windows DirectX module
3242 dnl
3243 AC_ARG_ENABLE(directx,
3244   [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
3245 if test "${enable_directx}" != "no"
3246 then
3247   if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin"
3248   then
3249     AC_ARG_WITH(directx,
3250     [    --with-directx=PATH   Win32 DirectX headers])
3251     if test -z "${with_directx}"
3252     then
3253       AC_CHECK_HEADERS(ddraw.h,
3254       [ VLC_ADD_PLUGINS([vout_directx aout_directx])
3255         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3256         dnl to be moved when dependance is removed
3257         AC_CHECK_HEADERS(GL/gl.h, [
3258             VLC_ADD_PLUGINS([glwin32])
3259             VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32])
3260         ]) ])
3261     else
3262       AC_MSG_CHECKING(for directX headers in ${with_directx})
3263       if test -f ${with_directx}/ddraw.h
3264       then
3265         VLC_ADD_PLUGINS([vout_directx aout_directx])
3266         VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}])
3267         VLC_ADD_LDFLAGS([vout_directx],[-lgdi32])
3268         AC_MSG_RESULT(yes)
3269       else
3270         AC_MSG_RESULT(no)
3271         AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
3272       fi
3273     fi
3274   fi
3275 fi
3276
3277 dnl
3278 dnl  Linux framebuffer module
3279 dnl
3280 AC_ARG_ENABLE(fb,
3281   [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
3282     if test "${enable_fb}" != "no"
3283     then
3284       AC_CHECK_HEADERS(linux/fb.h, [
3285         VLC_ADD_PLUGINS([fb])
3286       ])
3287     fi
3288
3289 dnl
3290 dnl  Linux MGA module
3291 dnl
3292 AC_ARG_ENABLE(mga,
3293   [  --enable-mga            Linux kernel Matrox support (default disabled)],
3294   [ if test "${enable_mga}" = "yes"
3295     then
3296       VLC_ADD_PLUGINS([mga])
3297     fi ])
3298
3299 dnl
3300 dnl  SVGAlib module
3301 dnl
3302 AC_ARG_ENABLE(svgalib,
3303   [  --enable-svgalib        SVGAlib support (default disabled)])
3304 if test "${enable_svgalib}" = "yes"
3305 then
3306   VLC_ADD_PLUGINS([svgalib])
3307   VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga])
3308 fi
3309
3310 dnl
3311 dnl  GGI module
3312 dnl
3313 AC_ARG_ENABLE(ggi,
3314   [  --enable-ggi            GGI support (default disabled)])
3315 if test "${enable_ggi}" = "yes"
3316 then
3317   VLC_ADD_PLUGINS([ggi])
3318   VLC_ADD_LDFLAGS([ggi],[-lggi])
3319   AC_ARG_WITH(ggi,
3320     [    --with-ggi=PATH       path to libggi],
3321     [ if test "${with_ggi}" != "no" -a -n "${with_ggi}"
3322       then
3323         VLC_ADD_CPPFLAGS([ggi],[-I${with_ggi}/include])
3324         VLC_ADD_LDFLAGS([ggi],[-L${with_ggi}/lib])
3325       fi ])
3326 fi
3327
3328 dnl
3329 dnl  Glide module
3330 dnl
3331 AC_ARG_ENABLE(glide,
3332   [  --enable-glide          Glide (3dfx) support (default disabled)])
3333 if test "${enable_glide}" = "yes"
3334 then
3335   VLC_ADD_PLUGINS([glide])
3336   VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
3337   VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
3338   AC_ARG_WITH(glide,
3339     [    --with-glide=PATH     path to libglide],
3340     [ if test "${with_glide}" != "no" -a -n "${with_glide}"
3341       then
3342         VLC_ADD_CPPFLAGS([glide],[-I${with_glide}/include])
3343         VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
3344       fi ])
3345 fi
3346
3347 dnl
3348 dnl  AA plugin
3349 dnl
3350 AC_ARG_ENABLE(aa,
3351   [  --enable-aa             aalib output (default disabled)])
3352 if test "${enable_aa}" = "yes"
3353 then
3354   AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
3355   if test "${have_aa}" = "true"
3356   then
3357     VLC_ADD_PLUGINS([aa])
3358     VLC_ADD_LDFLAGS([aa],[-laa])
3359   fi
3360 fi
3361
3362 dnl
3363 dnl  libcaca plugin
3364 dnl
3365 AC_ARG_ENABLE(caca,
3366   [  --enable-caca           libcaca output (default disabled)])
3367 if test "${enable_caca}" = "yes"
3368 then
3369   CACA_PATH="${PATH}"
3370   AC_ARG_WITH(caca-config-path,
3371     [    --with-caca-config-path=PATH caca-config path (default search in \$PATH)],
3372     [ if test "${with_caca_config_path}" != "no"
3373       then
3374         CACA_PATH="${with_caca_config_path}:${PATH}"
3375       fi ])
3376   AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH})
3377   if test "${CACA_CONFIG}" != "no"
3378   then
3379     VLC_ADD_PLUGINS([caca])
3380     VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
3381     VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`])
3382   fi
3383 fi
3384
3385 dnl
3386 dnl  win32 GDI plugin
3387 dnl
3388 AC_ARG_ENABLE(wingdi,
3389   [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
3390 if test "${enable_wingdi}" != "no"; then
3391   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3392     VLC_ADD_PLUGINS([wingdi])
3393     VLC_ADD_LDFLAGS([wingdi],[-lgdi32])
3394   fi
3395   if test "${SYS}" = "mingwce"; then
3396     VLC_ADD_PLUGINS([wingdi wingapi])
3397   fi
3398 fi
3399
3400 dnl
3401 dnl  Audio plugins
3402 dnl
3403
3404 AC_ARG_WITH(,[Audio plugins:])
3405
3406 dnl
3407 dnl  OSS /dev/dsp module (enabled by default except on win32)
3408 dnl
3409 AC_ARG_ENABLE(oss,
3410   [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
3411
3412 if test "${enable_oss}" != "no" &&
3413   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3414    test "${enable_oss}" = "yes")
3415 then
3416   AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
3417     VLC_ADD_PLUGINS([oss])
3418     AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio]))
3419   ])
3420 fi
3421
3422 dnl
3423 dnl  Esound module
3424 dnl
3425 AC_ARG_ENABLE(esd,
3426   [  --enable-esd            Esound library support (default disabled)],
3427   [if test "${enable_esd}" = "yes"
3428    then
3429      AC_PATH_PROG(ESD_CONFIG, esd-config, no)
3430      if test "${ESD_CONFIG}" != "no"
3431      then
3432        VLC_ADD_PLUGINS([esd])
3433        VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
3434        VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`])
3435      fi
3436    fi])
3437
3438 dnl
3439 dnl  Portaudio module
3440 dnl
3441 AC_ARG_ENABLE(portaudio,
3442   [  --enable-portaudio      Portaudio library support (default disabled)],
3443   [if test "${enable_portaudio}" = "yes"
3444    then
3445      VLC_ADD_PLUGINS([portaudio])
3446      VLC_ADD_CXXFLAGS([portaudio],[])
3447      if test "${SYS}" = "mingw32"; then
3448         VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32])
3449      else
3450         VLC_ADD_LDFLAGS([portaudio],[-lportaudio])
3451      fi
3452    fi])
3453
3454 dnl
3455 dnl  aRts module -- broken (freeze wxWidgets)
3456 dnl
3457 AC_ARG_ENABLE(arts,
3458  [  --enable-arts           aRts sound server (default disabled)],
3459  [if test "${enable_arts}" = "yes"
3460   then
3461     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
3462     if test "${ARTS_CONFIG}" != "no"
3463     then
3464       VLC_ADD_PLUGINS([arts])
3465       VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
3466       VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `])
3467     fi
3468   fi])
3469
3470 dnl
3471 dnl  ALSA module
3472 dnl
3473 AC_ARG_ENABLE(alsa,
3474   [  --enable-alsa           ALSA sound support for Linux (default enabled)])
3475 if test "${enable_alsa}" != "no"
3476 then
3477   AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
3478   if test "${have_alsa}" = "true"
3479   then
3480     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
3481                     #define ALSA_PCM_NEW_SW_PARAMS_API
3482                     #include <alsa/asoundlib.h>],
3483        [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
3484         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
3485     VLC_ADD_PLUGINS([alsa])
3486     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
3487   else
3488     if test "${enable_alsa}" = "yes"; then
3489       AC_MSG_ERROR([Could not find ALSA development headers])
3490     fi
3491   fi
3492 fi
3493
3494 dnl
3495 dnl  win32 waveOut plugin
3496 dnl
3497 AC_ARG_ENABLE(waveout,
3498   [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
3499 if test "${enable_waveout}" != "no"; then
3500   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
3501     VLC_ADD_PLUGINS([waveout])
3502     VLC_ADD_LDFLAGS([waveout],[-lwinmm])
3503   fi
3504   if test "${SYS}" = "mingwce"; then
3505     VLC_ADD_PLUGINS([waveout])
3506   fi
3507 fi
3508
3509 dnl
3510 dnl  CoreAudio plugin
3511 dnl
3512 AC_ARG_ENABLE(coreaudio,
3513   [  --enable-coreaudio      CoreAudio module (default enabled on MacOS X)])
3514 if test "${enable_coreaudio}" != "no" &&
3515   (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes")
3516 then
3517   AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, 
3518     [ VLC_ADD_BUILTINS([coreaudio auhal])
3519       VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox])
3520     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
3521 fi
3522
3523 dnl
3524 dnl  Roku HD1000 audio
3525 dnl
3526 AC_ARG_ENABLE(hd1000a,
3527   [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
3528 if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" &&
3529   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
3530    test "${enable_hd1000a}" = "yes")
3531 then
3532   AC_LANG_PUSH([C++])
3533   AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
3534     VLC_ADD_PLUGINS([hd1000a])
3535     AC_CHECK_LIB(HDMachineX225,main,VLC_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
3536   AC_LANG_POP([C++])
3537 fi
3538
3539 dnl
3540 dnl  CyberLink for C++ UPnP stack
3541 dnl
3542 AC_ARG_ENABLE(cyberlink,
3543   [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
3544 if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then
3545   AC_ARG_WITH(cyberlink-tree,
3546     [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
3547
3548   dnl
3549   dnl test for --with-cyberlink-tree
3550   dnl
3551   if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then
3552     AC_LANG_PUSH(C++)
3553     real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
3554     if test -z "${real_cyberlink_tree}"
3555     then
3556       dnl  The given directory can't be found
3557       AC_MSG_RESULT(no)
3558       AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
3559     fi
3560     CXXFLAGS_save="${CXXFLAGS}"
3561     CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
3562     CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}"
3563     AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
3564       [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}])
3565         VLC_ADD_PLUGINS([upnp]) 
3566       ],[
3567         AC_MSG_ERROR([cannot find CyberLink for C++ headers])
3568       ])
3569     AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
3570     if test -f "${real_cyberlink_tree}/lib/unix/libclink.a"
3571     then
3572       AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
3573       VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat])
3574     else
3575       AC_MSG_RESULT(no)
3576        AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
3577     fi
3578     CXXFLAGS="${CXXFLAGS_save}"
3579     AC_LANG_POP([C++])
3580   fi
3581 fi
3582
3583 dnl
3584 dnl  Interface plugins
3585 dnl
3586
3587 AC_ARG_WITH(,[Interface plugins:])
3588
3589 dnl special case for BeOS
3590 if test "${SYS}" = "beos"
3591 then
3592     VLC_ADD_BUILTINS([beos])
3593 fi
3594
3595 dnl
3596 dnl Skins2 module
3597 dnl
3598 AC_ARG_ENABLE(skins2,
3599   [  --enable-skins2         Skins2 interface module (experimental)])
3600 if test "${enable_skins2}" = "yes" ||
3601   (test "${SYS}" != "darwin" && test "${SYS}" != "beos" &&
3602    test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then
3603
3604   dnl test for the required libraries
3605   skins2_missing_lib="no"
3606
3607   dnl freetype
3608   if test "${FREETYPE_CONFIG}" != "no"; then
3609     VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`])
3610     VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`])
3611   else
3612     skins2_missing_lib="yes"
3613     if test "${enable_skins2}" = "yes"; then
3614       AC_MSG_ERROR([Could not find freetype (required for skins2)])
3615     fi
3616   fi
3617
3618   if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then
3619     VLC_ADD_PLUGINS([skins2])
3620     ALIASES="${ALIASES} svlc"
3621     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
3622     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3623     VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32])
3624
3625   else if test "${skins2_missing_lib}" = "no"; then
3626     VLC_ADD_PLUGINS([skins2])
3627     ALIASES="${ALIASES} svlc"
3628     VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS])
3629     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
3630     VLC_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11])
3631   fi fi
3632 fi
3633
3634
3635 dnl dnl
3636 dnl dnl  Gtk+ module
3637 dnl dnl
3638 dnl AC_ARG_ENABLE(gtk,
3639 dnl   [  --enable-gtk            Gtk+ support (default enabled)])
3640 dnl if test "${enable_gtk}" != "no"
3641 dnl then
3642 dnl   GTK_PATH="${PATH}"
3643 dnl   AC_ARG_WITH(gtk-config-path,
3644 dnl     [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
3645 dnl     [ if test "${with_gtk_config_path}" != "no"
3646 dnl       then
3647 dnl         GTK_PATH="${with_gtk_config_path}:${PATH}"
3648 dnl       fi ])
3649 dnl   # look for gtk-config
3650 dnl   AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
3651 dnl   GTK_CONFIG=${GTK12_CONFIG}
3652 dnl   if test "${GTK_CONFIG}" = "no"
3653 dnl   then
3654 dnl     AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
3655 dnl   fi
3656 dnl   if test "${GTK_CONFIG}" != "no"
3657 dnl   then
3658 dnl     if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
3659 dnl     then
3660 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.])
3661 dnl     fi
3662 dnl     if test "${SYS}" != "mingw32"; then
3663 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk gthread`])
3664 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`])
3665 dnl     else
3666 dnl       VLC_ADD_CFLAGS([gtk],[`${GTK_CONFIG} --cflags gtk`])
3667 dnl       VLC_ADD_LDFLAGS([gtk],[`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`])
3668 dnl     fi
3669 dnl     # now look for the gtk.h header
3670 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
3671 dnl     ac_cv_gtk_headers=yes
3672 dnl     AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
3673 dnl       ac_cv_gtk_headers=no
3674 dnl       echo "Cannot find gtk development headers."
3675 dnl     ])
3676 dnl     if test "${ac_cv_gtk_headers}" = "yes"
3677 dnl     then
3678 dnl       VLC_ADD_PLUGINS([gtk])
3679 dnl       if test "${SYS}" != "mingw32"; then
3680 dnl         NEED_GTK_MAIN=yes
3681 dnl       fi
3682 dnl       ALIASES="${ALIASES} gvlc"
3683 dnl     fi
3684 dnl     CPPFLAGS="${CPPFLAGS_save}"
3685 dnl   fi
3686 dnl fi
3687 dnl 
3688 dnl
3689 dnl  Gtk+2 module ! Disabled for now as it is unusable and confuses users
3690 dnl
3691 dnl AC_ARG_ENABLE(gtk2,
3692 dnl   [  --enable-gtk2           Gtk2 support (default disabled)])
3693 dnl if test "${enable_gtk2}" = "yes"
3694 dnl then
3695 dnl   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3696 dnl   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3697 dnl   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3698 dnl   VLC_ADD_PLUGINS([gtk2])
3699 dnl   if test "${SYS}" != "mingw32"; then
3700 dnl     NEED_GTK2_MAIN=yes
3701 dnl   fi
3702 dnl fi
3703
3704 dnl
3705 dnl  PDA Gtk+2 module
3706 dnl
3707 AC_ARG_ENABLE(pda,
3708   [  --enable-pda            PDA interface needs Gtk2 support (default disabled)])
3709 if test "${enable_pda}" = "yes"
3710 then
3711   PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
3712   VLC_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
3713   VLC_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
3714   VLC_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
3715   VLC_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
3716   VLC_ADD_PLUGINS([pda])
3717   if test "${SYS}" != "mingw32"; then
3718     NEED_GTK2_MAIN=yes
3719   fi
3720 fi
3721
3722 dnl dnl
3723 dnl dnl  Gnome module
3724 dnl dnl
3725 dnl AC_ARG_ENABLE(gnome,
3726 dnl   [  --enable-gnome          Gnome interface support (default disabled)],
3727 dnl   [if test "${enable_gnome}" = "yes"; then
3728 dnl     # look for gnome-config
3729 dnl     AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
3730 dnl     if test -x ${GNOME_CONFIG}
3731 dnl     then
3732 dnl        VLC_ADD_CFLAGS([gnome],[`${GNOME_CONFIG} --cflags gtk gnomeui`])
3733 dnl        VLC_ADD_LDFLAGS([gnome],[`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`])
3734 dnl     fi
3735 dnl     # now look for the gnome.h header
3736 dnl     CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
3737 dnl     AC_CHECK_HEADERS(gnome.h, [
3738 dnl       VLC_ADD_PLUGINS([gnome])
3739 dnl       NEED_GTK_MAIN=yes
3740 dnl       NEED_GNOME_MAIN=yes
3741 dnl       ALIASES="${ALIASES} gnome-vlc"
3742 dnl       dnl We need this because of some moronic gnomesupport.h flavours
3743 dnl       AC_MSG_CHECKING(for strndup in gnome.h)
3744 dnl       AC_EGREP_HEADER(strndup,gnome.h,[
3745 dnl         AC_MSG_RESULT(yes)
3746 dnl         AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
3747 dnl                   Define if <gnome.h> defines strndup.)],[
3748 dnl         AC_MSG_RESULT(no)])
3749 dnl      ],[
3750 dnl       AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
3751 dnl developement tools or remove the --enable-gnome option])
3752 dnl      ])
3753 dnl     CPPFLAGS="${CPPFLAGS_save}"
3754 dnl   fi])
3755
3756 dnl
3757 dnl  Gnome2 module ! Disabled for know as it is unuseable and confuses users
3758 dnl
3759 dnl AC_ARG_ENABLE(gnome2,
3760 dnl   [  --enable-gnome2         Gnome2 support (default disabled)])
3761 dnl if test "${enable_gnome2}" = "yes"
3762 dnl then
3763 dnl   PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0])
3764 dnl   VLC_ADD_CFLAGS([gnome2],[${GNOME2_CFLAGS}])
3765 dnl   VLC_ADD_LDFLAGS([gnome2],[${GNOME2_LIBS}])
3766 dnl   VLC_ADD_PLUGINS([gnome2])
3767 dnl   if test "${SYS}" != "mingw32"; then
3768 dnl     NEED_GNOME2_MAIN=yes
3769 dnl   fi
3770 dnl fi
3771
3772 dnl
3773 dnl  wxWidgets module
3774 dnl
3775 AC_ARG_ENABLE(wxwidgets,
3776   [  --enable-wxwidgets      wxWidgets support (default enabled)])
3777 if test "${enable_wxwindows}" 
3778 then
3779   AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.)
3780 fi
3781
3782 if test "${enable_wxwindows}" = "no"
3783 then
3784   enable_wxwidgets="no"
3785 fi
3786 if test "${enable_wxwidgets}" != "no"
3787 then
3788   WXWIDGETS_PATH="${PATH}"
3789   AC_ARG_WITH(wx-config-path,
3790     [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
3791     [ if test "${with_wx_config_path}" != "no"
3792       then
3793         WXWIDGETS_PATH="${with_wx_config_path}:${PATH}"
3794       fi ])
3795   WXWIDGETS_NAME="wx-config"
3796   AC_ARG_WITH(wx-config,
3797     [    --with-wx-config=NAME      wx-config name (default is wx-config)],
3798     [ if test "${with_wx_config}" != "no"
3799       then
3800         WXWIDGETS_NAME="${with_wx_config}"
3801       fi ])
3802   # look for wx-config
3803   AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH})
3804   if test "${WX_CONFIG}" != "no" -a "${CXX}" != ""
3805   then
3806     if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
3807     then
3808       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.])
3809     fi
3810     AC_LANG_PUSH(C++)
3811     # Turn this error:
3812     #   playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
3813     # into a warning. However better would be to fix playlist.cpp
3814     AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
3815         [ac_cv_cxx_fpermissive],
3816         [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
3817          AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
3818                         ac_cv_cxx_fpermissive=no)])
3819     if test "${ac_cv_cxx_fpermissive}" = "yes"; then
3820       VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
3821     fi
3822     VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
3823     VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
3824     if test "$have_libcdio" = "yes"
3825     then 
3826       VLC_ADD_LDFLAGS([wxwidgets],[$LIBCDIO_LIBS])
3827       VLC_ADD_CXXFLAGS([wxwidgets],[$LIBCDIO_CFLAGS])
3828     else 
3829       AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
3830     fi
3831
3832     if test "$have_libvcdinfo" = "yes"
3833     then 
3834       VLC_ADD_LDFLAGS([wxwidgets],[$VCDINFO_LIBS])
3835       VLC_ADD_CXXFLAGS([wxwidgets],[$VCDINFO_CFLAGS])
3836     else 
3837       AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
3838     fi
3839
3840     # now look for the wxprec.h header
3841     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwidgets}"
3842     ac_cv_wx_headers=yes
3843     AC_CHECK_HEADERS(wx/wxprec.h, , [
3844       ac_cv_wx_headers=no
3845       echo "Cannot find wxWidgets development headers."
3846     ])
3847     if test "${ac_cv_wx_headers}" = "yes"
3848     then
3849       VLC_ADD_PLUGINS([wxwidgets])
3850       ALIASES="${ALIASES} wxvlc"
3851     fi
3852     CPPFLAGS="${CPPFLAGS_save}"
3853     AC_LANG_POP(C++)
3854   fi
3855 fi
3856
3857 dnl
3858 dnl  WinCE GUI module
3859 dnl
3860 if test "${SYS}" = "mingwce"; then
3861   VLC_ADD_BUILTINS([wince])
3862   VLC_ADD_CXXFLAGS([wince],[])
3863   VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell])
3864   dnl Gross hack
3865   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3866 elif test "${SYS}" = "mingw32"; then
3867   VLC_ADD_CXXFLAGS([wince],[])
3868   VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
3869   dnl Gross hack
3870   VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
3871 fi
3872
3873 dnl
3874 dnl Simple test for skins2 dependency
3875 dnl
3876 if test "${enable_skins2}" != "no"
3877 then
3878   if test "${WX_CONFIG}" = "no"
3879   then
3880     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.])
3881   fi
3882 fi
3883
3884 dnl dnl
3885 dnl dnl  Qt module
3886 dnl dnl
3887 dnl AC_ARG_ENABLE(qt,
3888 dnl   [  --enable-qt             Qt interface support (default disabled)],
3889 dnl   [if test "${enable_qt}" = "yes"; then
3890 dnl      VLC_ADD_PLUGINS([qt])
3891 dnl      ALIASES="${ALIASES} qvlc"
3892 dnl      VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
3893 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
3894 dnl      AC_CHECK_LIB(qt-mt,main,[
3895 dnl        VLC_ADD_LDFLAGS([qt],[-lqt-mt])
3896 dnl      ],[
3897 dnl        AC_CHECK_LIB(qt,main,[
3898 dnl          VLC_ADD_LDFLAGS([qt],[-lqt])
3899 dnl        ])
3900 dnl      ])
3901 dnl      LDFLAGS="${LDFLAGS_save}"
3902 dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
3903 dnl      if test -x ${QTDIR}/bin/moc
3904 dnl      then
3905 dnl        MOC=${QTDIR}/bin/moc
3906 dnl      else
3907 dnl        MOC=moc
3908 dnl      fi
3909 dnl    fi])
3910 dnl 
3911 dnl dnl
3912 dnl dnl  KDE module
3913 dnl dnl
3914 dnl AC_ARG_ENABLE(kde,
3915 dnl   [  --enable-kde            KDE interface support (default disabled)],
3916 dnl   [if test "${enable_kde}" = "yes"; then
3917 dnl      VLC_ADD_PLUGINS([kde])
3918 dnl      ALIASES="${ALIASES} kvlc"
3919 dnl      VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
3920 dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
3921 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3922 dnl      AC_CHECK_LIB(kfile,main,[
3923 dnl        VLC_ADD_LDFLAGS([kde],[-lkfile])
3924 dnl      ])
3925 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3926 dnl      AC_CHECK_LIB(kdeui,main,[
3927 dnl        VLC_ADD_LDFLAGS([kde],[-lkdeui])
3928 dnl      ])
3929 dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
3930 dnl      AC_CHECK_LIB(kio,main,[
3931 dnl        VLC_ADD_LDFLAGS([kde],[-lkio])
3932 dnl      ])
3933 dnl      LDFLAGS="${LDFLAGS_save}"
3934 dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
3935 dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
3936 dnl      if test -x ${QTDIR}/bin/moc
3937 dnl      then
3938 dnl        MOC=${QTDIR}/bin/moc
3939 dnl      else
3940 dnl        MOC=moc
3941 dnl      fi
3942 dnl    fi])
3943
3944 dnl
3945 dnl  Opie QT embedded module
3946 dnl
3947 AC_ARG_ENABLE(opie,
3948   [  --enable-opie           Qt embedded interface support (default disabled)],
3949   [if test "${enable_opie}" = "yes"; then
3950      AC_ARG_WITH(qte,
3951      [    --with-qte=PATH       Qt Embedded headers and libraries])
3952      if test "${with_qte}" != "no" -a -n "${with_qte}"
3953      then
3954        VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
3955        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])
3956      else
3957        VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
3958        VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
3959      fi
3960      CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
3961      AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
3962        AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
3963      ] )
3964      CPPFLAGS="${CPPFLAGS_save}"
3965
3966      VLC_ADD_PLUGINS([opie])
3967      NEED_QTE_MAIN=yes
3968      VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
3969      VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
3970      if test "${with_qte}" != "no" -a -n "${with_qte}"
3971      then
3972        MOC=${with_qte}/bin/moc
3973      else
3974        MOC=${QTDIR}/bin/moc
3975      fi
3976    fi])
3977
3978 dnl
3979 dnl  MacOS X module
3980 dnl
3981 AC_ARG_ENABLE(macosx,
3982   [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
3983   [if test "${enable_macosx}" = "yes"
3984    then
3985      VLC_ADD_BUILTINS([macosx])
3986      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3987    fi],
3988   [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
3989      VLC_ADD_BUILTINS([macosx])
3990      VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
3991    )])
3992
3993 dnl
3994 dnl  QNX RTOS module
3995 dnl
3996 AC_ARG_ENABLE(qnx,
3997   [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
3998     if test "${enable_qnx}" != "no"
3999     then
4000       AC_CHECK_HEADERS(Ph.h, [
4001         VLC_ADD_PLUGINS([qnx])
4002         VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
4003       ])
4004     fi
4005
4006 dnl
4007 dnl  ncurses module
4008 dnl
4009 AC_ARG_ENABLE(ncurses,
4010   [  --enable-ncurses        ncurses interface support (default disabled)],
4011   [if test "${enable_ncurses}" = "yes"; then
4012      VLC_ADD_PLUGINS([ncurses])
4013      VLC_ADD_LDFLAGS([ncurses],[-lncurses])
4014    fi])
4015
4016 dnl
4017 dnl  XOSD plugin
4018 dnl
4019 AC_ARG_ENABLE(xosd,
4020   [  --enable-xosd           xosd interface support (default disabled)])
4021 if test "${enable_xosd}" = "yes"
4022 then
4023   AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
4024   AC_CHECK_LIB(xosd,xosd_set_offset,
4025       AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
4026     AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
4027         AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
4028       AC_TRY_COMPILE([#include <xosd.h>],
4029          [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
4030           AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
4031   if test "${have_xosd}" = "true"
4032   then
4033     VLC_ADD_PLUGINS([xosd])
4034     VLC_ADD_LDFLAGS([xosd],[-lxosd])
4035   fi
4036 fi
4037
4038 dnl
4039 dnl Visualisation plugin
4040 dnl
4041 AC_ARG_ENABLE(visual,
4042   [  --enable-visual         visualisation plugin (default enabled)])
4043 if test "${enable_visual}" != "no"
4044 then
4045     VLC_ADD_PLUGINS([visual])
4046 fi
4047
4048 dnl
4049 dnl OpenGL visualisation plugin
4050 dnl
4051 AC_ARG_ENABLE(galaktos,
4052   [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
4053 if test "${enable_galaktos}" = "yes"
4054 then
4055   AC_CHECK_HEADERS(GL/gl.h, [
4056     VLC_ADD_PLUGINS([galaktos])
4057     if test "${SYS}" != "mingw32"; then
4058       VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
4059     else
4060       VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
4061     fi
4062   ])
4063 fi
4064
4065 dnl
4066 dnl  goom visualization plugin
4067 dnl
4068 AC_ARG_ENABLE(goom,
4069 [  --enable-goom           goom visualisation plugin (default disabled)])
4070 if test "${enable_goom}" = "yes"
4071 then
4072   AC_ARG_WITH(goom-tree,
4073     [    --with-goom-tree=PATH goom tree for static linking (required)])
4074
4075   dnl
4076   dnl test for --with-goom-tree
4077   dnl
4078   if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
4079     AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
4080     real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
4081     if test -z "${real_goom_tree}"; then
4082       dnl  The given directory can't be found
4083       AC_MSG_RESULT(no)
4084       AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
4085     fi
4086     if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
4087       AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
4088       VLC_ADD_BUILTINS([goom])
4089       VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
4090       VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
4091     else
4092       dnl  The given libgoom2 wasn't built, try to look for the old goom
4093       AC_MSG_RESULT(no)
4094       AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
4095       if test -f "${real_goom_tree}/libgoom.a"; then
4096         AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
4097         VLC_ADD_BUILTINS([goom])
4098         VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
4099         VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
4100       else
4101         dnl  The given libgoom wasn't built
4102         AC_MSG_RESULT(no)
4103         AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
4104       fi
4105     fi
4106   else
4107     AC_CHECK_HEADERS(goom/goom.h, [
4108       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
4109       AC_CHECK_LIB(goom2, goom_init, [
4110         VLC_ADD_PLUGINS([goom])
4111         VLC_ADD_LDFLAGS([goom],[-lgoom2])
4112       ],[
4113         AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
4114       ])
4115       LDFLAGS="${LDFLAGS_save}"
4116     ])
4117   fi
4118 fi
4119
4120 dnl
4121 dnl  SLP access plugin
4122 dnl
4123 AC_ARG_ENABLE(slp,
4124   [  --enable-slp            SLP service discovery support (default disabled)])
4125 if test "${enable_slp}" = "yes"
4126 then
4127   AC_ARG_WITH(slp,
4128   [    --with-slp=PATH       libslp headers and libraries])
4129   if test -z "${with_slp}"
4130   then
4131     AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
4132     if test "${have_slp}" = "true"
4133     then
4134       VLC_ADD_PLUGINS([slp])
4135       VLC_ADD_LDFLAGS([slp],[-lslp])
4136       VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
4137     fi
4138   else
4139     AC_MSG_CHECKING(for slp headers in ${with_slp})
4140     if test -f ${with_slp}/slp.h
4141     then
4142       dnl  Use ${with_slp}/libslp/slp.h
4143       AC_MSG_RESULT(yes)
4144       VLC_ADD_PLUGINS([slp])
4145       VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
4146       VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
4147       VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
4148       AC_DEFINE(HAVE_SLP_H)
4149     else
4150       dnl  No libslp could be found, sorry
4151       AC_MSG_RESULT(no)
4152       AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
4153     fi
4154   fi
4155 fi
4156
4157 dnl
4158 dnl DAAP access plugin and services discovery 
4159 dnl
4160 AC_ARG_ENABLE(daap,
4161   [  --enable-daap                DAAP shares services discovery support (default enabled)])
4162 if test "$enable_daap" != "no"
4163 then
4164    PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
4165       [ VLC_ADD_PLUGINS([daap])
4166        VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
4167        VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
4168       [AC_MSG_WARN(DAAP library not found)])
4169 fi
4170
4171 dnl
4172 dnl  Bonjour services discovery
4173 dnl
4174 AC_ARG_ENABLE(bonjour,
4175   [  --enable-bonjour        Bonjour services discovery (default enabled)])
4176 if test "${enable_bonjour}" != "no"
4177 then
4178   PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
4179     [AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
4180       VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
4181       VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
4182       VLC_ADD_PLUGINS([bonjour]) ],
4183     [AC_MSG_WARN(avahi-client library not found)])
4184 fi
4185
4186 dnl
4187 dnl  Lirc plugin
4188 dnl
4189 AC_ARG_ENABLE(lirc,
4190   [  --enable-lirc           lirc support (default disabled)])
4191 if test "${enable_lirc}" = "yes"
4192 then
4193   AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
4194   if test "${have_lirc}" = "true"
4195   then
4196     VLC_ADD_PLUGINS([lirc])
4197     VLC_ADD_LDFLAGS([lirc],[-llirc_client])
4198   fi
4199 fi
4200
4201 dnl 
4202 dnl  Joystick plugin
4203 dnl
4204 AC_ARG_ENABLE(joystick,
4205   [  --enable-joystick       joystick control (default enabled)])
4206 if test "${enable_joystick}" = "yes"; then
4207   AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
4208 fi
4209
4210 dnl
4211 dnl corba (ORBit) plugin
4212 dnl
4213 dnl Default: do not enable corba
4214 enablecorba=false
4215 AC_ARG_ENABLE(corba,
4216   [  --enable-corba          corba interface support (default disabled)])
4217 if test "${enable_corba}" = "yes"; then
4218       GLIB_VERSION=2.3.2
4219       PKG_CHECK_MODULES(CORBA, 
4220         ORBit-2.0 >= 2.8.0 \
4221         glib-2.0 >= $GLIB_VERSION \
4222         gobject-2.0 >= $GLIB_VERSION \
4223         gthread-2.0 >= $GLIB_VERSION,
4224         [
4225           enablecorba=true
4226           VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
4227           VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
4228           VLC_ADD_PLUGINS([corba snapshot]) ],
4229         [ enablecorba=false
4230           AC_MSG_WARN(corba library not found) ])
4231 fi
4232 AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
4233
4234 AC_ARG_WITH(,[Misc options:])
4235
4236 dnl
4237 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
4238 dnl
4239 dnl  We give the user the opportunity to specify
4240 dnl  --with-words=big or --with-words=little ; otherwise, try to guess
4241 dnl
4242 AC_ARG_WITH(words,
4243   [    --with-words=endianness set endianness (big or little)])
4244   case "${with_words}" in
4245     big)
4246       ac_cv_c_bigendian=yes
4247       ;;
4248     little)
4249       ac_cv_c_bigendian=no
4250       ;;
4251     *)
4252       dnl  Try to guess endianness by matching patterns on a compiled
4253       dnl  binary, by looking for an ASCII or EBCDIC string
4254       AC_CACHE_CHECK([whether the byte order is big-endian],
4255         [ac_cv_c_bigendian],
4256         [ac_cv_c_bigendian="unknown"
4257         [cat >conftest.c <<EOF
4258         short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
4259         short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
4260         void _a(void) { char*s = (char*)am; s = (char *)ai; }
4261         short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
4262         short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
4263         void _e(void) { char*s = (char*)em; s = (char*)ei; }
4264         int main(void) { _a(); _e(); return 0; }
4265 EOF
4266         ]
4267         if test -f conftest.c
4268         then
4269           if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
4270               && test -f conftest.o
4271           then
4272             if test "`strings conftest.o | grep BIGenDianSyS`"
4273             then
4274               ac_cv_c_bigendian="yes"
4275             fi
4276             if test "`strings conftest.o | grep LiTTleEnDian`"
4277             then
4278               ac_cv_c_bigendian="no"
4279             fi
4280           fi
4281         fi
4282       ])
4283       if test "${ac_cv_c_bigendian}" = "unknown"
4284       then
4285         AC_MSG_ERROR([Could not guess endianness, please use --with-words])
4286       fi
4287       ;;
4288   esac
4289 dnl  Now we know what to use for endianness, just put it in the header
4290 if test "${ac_cv_c_bigendian}" = "yes"
4291 then
4292   AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
4293 fi
4294
4295 dnl
4296 dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
4297 dnl
4298 loader=false
4299 AC_ARG_ENABLE(loader,
4300   [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
4301 AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
4302 AS_IF([test "${enable_loader}" = "yes"],
4303   [ VLC_ADD_PLUGINS([dmo quicktime])
4304     VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
4305     VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
4306     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
4307     VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
4308   ])
4309
4310 dnl
4311 dnl  Microsoft ActiveX support
4312 dnl
4313 activex=false
4314 AC_ARG_ENABLE(activex,
4315   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
4316 if test "${enable_activex}" != "no"
4317 then
4318   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
4319   then
4320     AC_CHECK_PROGS(MIDL, [midl widl], no)
4321     AC_CHECK_HEADERS(ole2.h olectl.h,
4322       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
4323         VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
4324         AC_CHECK_HEADERS(objsafe.h,
4325           VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
4326         )
4327         activex=:
4328       ],
4329       [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
4330     )
4331   fi
4332 fi
4333 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
4334 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
4335 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
4336
4337 dnl
4338 dnl  Mozilla plugin
4339 dnl
4340 mozilla=false
4341 AC_ARG_ENABLE(mozilla,
4342   [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
4343 AC_ARG_WITH(mozilla-sdk-path,
4344   [    --with-mozilla-sdk-path=PATH path to mozilla sdk])
4345
4346 if test "${enable_mozilla}" = "yes" -a "${with_mozilla_sdk_path}" = ""
4347 then
4348   AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
4349   if test "${MOZILLA_CONFIG}" = "no"
4350   then
4351     AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
4352   else
4353     if test "${SYS}" != "mingw32"; then
4354       LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
4355       AC_CHECK_LIB(Xt,XtStrings,
4356        [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
4357        [],
4358        [[-L${x_libraries} -lX11 -lSM -lICE]
4359       ])
4360       LDFLAGS="${LDFLAGS_save}"
4361     fi
4362     mozilla=:
4363     dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
4364     VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
4365     VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
4366     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
4367     AC_CHECK_HEADERS(mozilla-config.h)
4368     CPPFLAGS="${CPPFLAGS_save}"
4369   fi
4370
4371 dnl special case for mingw32
4372 elif test "${enable_mozilla}" = "yes"
4373 then
4374   if test "${SYS}" = "mingw32"; then
4375     AC_CHECK_TOOL(CYGPATH, cygpath, "")
4376     mozilla_sdk_xpcom="/xpcom"
4377   fi
4378
4379   real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
4380   CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
4381   AC_CHECK_HEADERS(mozilla-config.h, [
4382     mozilla=:
4383     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])
4384     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])
4385     if test "${SYS}" = "mingw32"; then
4386       VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
4387     fi
4388
4389     XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
4390     XPIDL="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin/xpidl"
4391
4392     if test -n "${CYGPATH}"; then
4393       real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
4394       XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
4395     fi ])
4396   CPPFLAGS="${CPPFLAGS_save}"
4397 fi
4398
4399 dnl Not necessarily in ${PATH}
4400 if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
4401   XPIDL="/usr/lib/mozilla/xpidl"
4402 fi
4403 AS_IF([test "${MOZILLA_CONFIG}"], [
4404   if test -z "${XPIDL_INCL}"; then
4405     XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
4406     `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
4407   fi
4408 ])
4409 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
4410
4411 dnl
4412 dnl  test plugins
4413 dnl
4414 AC_ARG_ENABLE(testsuite,
4415   [  --enable-testsuite      build test modules (default disabled)])
4416 if test "${enable_testsuite}" = "yes"
4417 then
4418   TESTS="test1 test2 test3 test4"
4419
4420   dnl  we define those so that bootstrap sets the right linker
4421   VLC_ADD_CXXFLAGS([test2],[])
4422   VLC_ADD_OBJCFLAGS([test3],[])
4423   dnl  this one is needed until automake knows what to do
4424   VLC_ADD_LDFLAGS([test3],[-lobjc])
4425
4426   VLC_ADD_PLUGINS([${TESTS}])
4427   #VLC_ADD_BUILTINS([${TESTS}])
4428 fi
4429
4430 dnl
4431 dnl  gtk_main plugin
4432 dnl
4433 if test "${NEED_GTK_MAIN}" != "no"
4434 then
4435     VLC_ADD_PLUGINS([gtk_main])
4436     VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
4437     VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
4438 fi
4439
4440 if test "${NEED_GNOME_MAIN}" != "no"
4441 then
4442     VLC_ADD_PLUGINS([gnome_main])
4443     VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
4444     VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
4445 fi
4446
4447 if test "${NEED_GTK2_MAIN}" != "no"
4448 then
4449     VLC_ADD_PLUGINS([gtk2_main])
4450     VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
4451     VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
4452     VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
4453     VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
4454 fi
4455
4456 if test "${NEED_GNOME2_MAIN}" != "no"
4457 then
4458     VLC_ADD_PLUGINS([gnome2_main])
4459     VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
4460     VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
4461 fi
4462
4463 dnl
4464 dnl  qte_main plugin
4465 dnl
4466 if test "${NEED_QTE_MAIN}" != "no"
4467 then
4468     VLC_ADD_PLUGINS([qte_main])
4469     VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
4470     VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
4471     VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
4472 fi
4473
4474
4475 dnl
4476 dnl  Plugin and builtin checks
4477 dnl
4478 builtin_support=false
4479 plugin_support=:
4480
4481 dnl Support for plugins - this must be AT THE END
4482 AC_ARG_ENABLE(plugins,
4483   [  --disable-plugins       make all plugins built-in (default plugins enabled)],
4484   [if test "${enable_plugins}" = "no"
4485    then
4486      plugin_support=false
4487    fi])
4488
4489 dnl Automagically disable plugins if there is no system support for
4490 dnl dynamically loadable files (.so, .dll, .dylib).
4491 dnl don't forget vlc-win32 still can load .dll as plugins
4492 if test "${ac_cv_have_plugins}" = "no"
4493 then
4494   echo "*** Your system doesn't have plugin support. All plugins will be built"
4495   echo "statically."
4496   plugin_support=false
4497 fi
4498
4499 dnl Export automake variables
4500 if ${plugin_support}
4501 then
4502   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
4503   for plugin in `echo ${PLUGINS}`
4504   do
4505     eval "${plugin}_p=yes"
4506   done
4507 else
4508   VLC_ADD_BUILTINS([${PLUGINS}])
4509   PLUGINS=""
4510 fi
4511 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
4512
4513 [if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
4514 then
4515   builtin_support=:
4516   for builtin in `echo ${BUILTINS}`
4517   do
4518     eval "${builtin}_b=yes"
4519   done
4520 fi]
4521 AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})
4522
4523 AC_ARG_ENABLE(shared-libvlc,
4524   [  --enable-shared-libvlc  shared libvlc (default disabled EXPERIMENTAL)],
4525   ,[shared_libvlc=no])
4526
4527 AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
4528 AS_IF([test "${shared_libvlc}" != "no"], [
4529   AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
4530 ])
4531
4532 pic=no
4533 AS_IF([test "${shared_libvlc}" != "no"], [pic=pic])
4534 AS_IF([${mozilla}], [pic=pic])
4535 AS_IF([test "${SYS}" = "mingw32"], [pic=no])
4536
4537 AS_IF([test "${pic}" = "no"], [pic=])
4538 AC_SUBST(pic)
4539
4540 dnl Import conditional variables generated by bootstrap
4541 VLC_CONDITIONALS
4542
4543 dnl
4544 dnl  Stuff used by the program
4545 dnl
4546 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
4547 AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 the VideoLAN team", [Copyright string])
4548 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
4549 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
4550 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
4551 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
4552 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
4553 AC_SUBST(VERSION_MAJOR)
4554 AC_SUBST(VERSION_MINOR)
4555 AC_SUBST(VERSION_REVISION)
4556 AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
4557 AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) 
4558 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
4559 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
4560
4561 dnl Old definitions for version-dependant plugins
4562 dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
4563 dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
4564 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
4565
4566 dnl New definitions with value matching 0.8.4 release
4567 module_symbol="0_8_4"
4568 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
4569 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
4570 VLC_ENTRY="vlc_entry__${module_symbol}"
4571 AC_SUBST(VLC_ENTRY)
4572
4573 DATA_PATH="${ac_tool_prefix}/share/vlc"
4574 AC_SUBST(DATA_PATH)
4575 PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
4576 AC_SUBST(PLUGIN_PATH)
4577
4578 dnl
4579 dnl  Handle substvars that use $(top_srcdir)
4580 dnl
4581 VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
4582 AC_SUBST(VLC_CONFIG)
4583 CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
4584
4585 dnl
4586 dnl  Restore *FLAGS
4587 dnl
4588 VLC_RESTORE_FLAGS
4589
4590 dnl
4591 dnl  Create the vlc-config script
4592 dnl
4593 LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
4594 for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
4595
4596 dnl
4597 dnl  Configuration is finished
4598 dnl
4599 AC_SUBST(SYS)
4600 AC_SUBST(ARCH)
4601 AC_SUBST(ALIASES)
4602 AC_SUBST(ASM)
4603 AC_SUBST(MOC)
4604 AC_SUBST(WINDRES)
4605 AC_SUBST(XPIDL)
4606 AC_SUBST(XPIDL_INCL)
4607 AC_SUBST(LIBEXT)
4608 AC_SUBST(INCLUDES)
4609 AC_SUBST(ALL_LINGUAS)
4610
4611 dnl Import substitutions generated by bootstrap
4612 VLC_SUBSTS
4613
4614 dnl Create vlc-config.in
4615 VLC_OUTPUT_VLC_CONFIG_IN
4616
4617 AC_CONFIG_FILES([
4618   Makefile
4619   activex/Makefile
4620   activex/axvlc.inf
4621   debian/Makefile
4622   doc/Makefile
4623   intl/Makefile
4624   ipkg/Makefile
4625   lib/Makefile
4626   loader/Makefile
4627   modules/Makefile
4628   mozilla/Makefile
4629   m4/Makefile
4630   po/Makefile.in
4631   share/Makefile
4632 ])
4633
4634 AC_CONFIG_FILES([
4635   modules/access/Makefile
4636   modules/access/dshow/Makefile
4637   modules/access/dvb/Makefile
4638   modules/access/mms/Makefile
4639   modules/access/pvr/Makefile
4640   modules/access/v4l/Makefile
4641   modules/access/cdda/Makefile
4642   modules/access/vcd/Makefile
4643   modules/access/vcdx/Makefile
4644   modules/access/screen/Makefile
4645   modules/access_filter/Makefile
4646   modules/access_output/Makefile
4647   modules/audio_filter/Makefile
4648   modules/audio_filter/channel_mixer/Makefile
4649   modules/audio_filter/converter/Makefile
4650   modules/audio_filter/resampler/Makefile
4651   modules/audio_mixer/Makefile
4652   modules/audio_output/Makefile
4653   modules/codec/Makefile
4654   modules/codec/cmml/Makefile
4655   modules/codec/dmo/Makefile
4656   modules/codec/ffmpeg/Makefile
4657   modules/codec/spudec/Makefile
4658   modules/control/Makefile
4659   modules/control/http/Makefile
4660   modules/control/corba/Makefile
4661   modules/demux/Makefile
4662   modules/demux/asf/Makefile
4663   modules/demux/avi/Makefile
4664   modules/demux/mp4/Makefile
4665   modules/demux/mpeg/Makefile
4666   modules/demux/playlist/Makefile
4667   modules/demux/util/Makefile
4668   modules/gui/Makefile
4669   modules/gui/beos/Makefile
4670   modules/gui/pda/Makefile
4671   modules/gui/macosx/Makefile
4672   modules/gui/qnx/Makefile
4673   modules/gui/skins2/Makefile
4674   modules/gui/wxwidgets/Makefile
4675   modules/gui/wince/Makefile
4676   modules/misc/Makefile
4677   modules/misc/dummy/Makefile
4678   modules/misc/memcpy/Makefile
4679   modules/misc/network/Makefile
4680   modules/misc/testsuite/Makefile
4681   modules/misc/playlist/Makefile
4682   modules/misc/xml/Makefile
4683   modules/mux/Makefile
4684   modules/mux/mpeg/Makefile
4685   modules/packetizer/Makefile
4686   modules/services_discovery/Makefile
4687   modules/stream_out/Makefile
4688   modules/stream_out/transrate/Makefile
4689   modules/video_chroma/Makefile
4690   modules/video_filter/Makefile
4691   modules/video_filter/swscale/Makefile
4692   modules/video_output/Makefile
4693   modules/video_output/directx/Makefile
4694   modules/video_output/qte/Makefile
4695   modules/video_output/x11/Makefile
4696   modules/visualization/Makefile
4697   modules/visualization/visual/Makefile
4698   modules/visualization/galaktos/Makefile
4699 ])
4700
4701 dnl Generate makefiles
4702 AC_OUTPUT
4703
4704 # Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
4705 # not provided with the source
4706 ${SHELL} ./config.status --file=vlc-config
4707 chmod 0755 vlc-config
4708
4709 dnl echo "Enabled builtin modules :"
4710 dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'
4711
4712 dnl echo "Enabled plugin modules :"
4713 dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'
4714
4715 printf "
4716 vlc configuration
4717 --------------------
4718 vlc version           : ${VERSION}
4719 system                : ${SYS}
4720 architecture          : ${ARCH}
4721 build flavour         : "
4722 test "${enable_debug}" = "yes" && printf "debug "
4723 test "${enable_cprof}" = "yes" && printf "cprof "
4724 test "${enable_gprof}" = "yes" && printf "gprof "
4725 test "${enable_optimizations}" = "yes" && printf "optim "
4726 test "${enable_release}" = "yes" && printf "release " || printf "devel "
4727 echo "
4728 vlc aliases           :${ALIASES}
4729
4730 You can tune the compiler flags in vlc-config.
4731 To build vlc and its plugins, type \`make'.
4732 "
4733