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