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