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