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