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